我在数据库中有布尔字段,如何使用 link_to 在 Rails 中更新它。我想要两个 link_to 命令。一为真,一为假。
我该怎么做?我可以使用 ajax,但我想先学习传递数据。
谢谢
我在数据库中有布尔字段,如何使用 link_to 在 Rails 中更新它。我想要两个 link_to 命令。一为真,一为假。
我该怎么做?我可以使用 ajax,但我想先学习传递数据。
谢谢
link_to
只能链接到目标控制器操作。您需要定义一个路由,将调用路由到一个切换布尔值的方法。
例如,在您的控制器中:
class ThingsController
def toggle_foo
@thing = Thing.find(params[:id])
@thing.foo = !@thing.foo
@thing.save
end
end
然后你会路由这个:
resources :things,
:member => { :toggle_too => :put }
然后你可以链接到它:
link_to('Toggle', toggle_foo_thing_path(@thing), :method => :put)
重要的是不要在这些调用上使用GET
方法,因为某些浏览器会预加载页面上的所有简单链接,这将具有自动切换页面上链接到的所有内容的效果。