我想用一次点击更新存储在我的数据库中的项目。例如,我有一个叫汽车的模型。它有一个叫“活动”的属性,这是布尔的,所以可能是0或1在数据库中。我想让用户有可能用一次点击来改变这个属性,例如从他们的汽车索引页。我知道,如果我想让这个按钮像整个表单一样,它可以完成。但我认为这不是最好的解决方案,也不是正确的。我可以用任何其他的方式,也许创建特殊的链接或类似的东西?据我所知,它应该发送请求到CarsController到更新方法,但如何做到这一点没有形式?
我想用一次点击更新存储在我的数据库中的项目。例如,我有一个叫汽车的模型。它有一个叫“活动”的属性,这是布尔的,所以可能是0或1在数据库中。我想让用户有可能用一次点击来改变这个属性,例如从他们的汽车索引页。我知道,如果我想让这个按钮像整个表单一样,它可以完成。但我认为这不是最好的解决方案,也不是正确的。我可以用任何其他的方式,也许创建特殊的链接或类似的东西?据我所知,它应该发送请求到CarsController到更新方法,但如何做到这一点没有形式?
3条答案
按热度按时间wvmv3b1j1#
您只需将
link_to
与remote: true
一起使用。例如,在您的视图中:在控制器方法中:
完整指南呈现here.
qzwqbdag2#
如果你使用jquery,你可以使用jquery ajax方法,dataType作为JSON,你也可以使用相同的restful更新方法,即不创建任何新方法。
视图-
<%= button_tag 'Activate', car_id: "22" , id: "activate_car" %>
主计长─
JS--
htrmnn0y3#
我知道我来晚了,但是为新的rails开发人员添加这个答案
您只需将
link_to
与remote: true
一起使用。如果link_to
引发路由错误,则使用button_to
代替。例如,在您的视图中:在控制器方法中:
还有你的路线。