2010-10-25 64 views
0

美好的一天...在不改变网站的情况下在Rails中做动作

还是一个初学者的问题。我主要是要求自己节省几个小时的试验和错误......我已经有了,而且没有结果。

我想要做什么...我有一个控制器,当然有一个动作。我想发送这个动作两个ID,它应该使这些数据库的一些条目。没问题,这个行动效果很好。

但我不想看到它,我希望用户点击一个链接,甚至不离开网站。理想情况下,应该有一些Ajax(在网站上使用jQuery),将链接更改为“谢谢”或任何其他内容。

所以是的,我的主要问题是:如何从链接中激活其他控制器的动作而不离开站点。很长的介绍,但我希望你能给我一些提示。

+1

如果您更具体并包含一些代码,则可能会得到更好的回复。 – tinifni 2010-10-25 17:51:48

回答

2

查看link_to_remote的视图方面,然后你可以让你的控制器功能render nothing => truerender nothing => true

+0

通常你会渲染一些东西,最好是一些更新你的页面的js,通知你已经做了一些事情,停止你的微调。 – nathanvda 2010-10-25 20:42:52

0

在轨道中查找link_to_remote方法。这应该使ajax呼叫控制器功能,而不是离开页面。

+0

不是。 link_to_function运行javascript。 – nathanvda 2010-10-25 20:41:34

+0

哎呀,正在考虑'link_to_remote'并输入'function'。 – shoebox639 2010-10-25 20:49:28

1

为了保持从控制器动作也未突兀&回报的东西......我想你可能想是这样的:

def my_action 
    # your code... e.g. @model = Model.find(params[:id]) 

    render :json => { :whatever => @model.whatever } 
end 

在JavaScript,做什么你肯同返回的信息&防止通过返回false或使用jQuery防止点击事件的默认功能,超链接的默认操作。

相关问题