我目前有一个用HAML编写的非常简单的搜索表单:
%form.search{ method: 'get', action: '/users/search' }
...在呈现此视图时,根据控制器在实例变量中设置的模型来呈现不同的搜索路线时,正确的rails约定是什么?
我找到了这个blog post,但是这个代码<%= form_tag(recipes_path, :method => "get"对我来说还不够通用。我希望根据控制器在呈现此视图时与之协作的模型来设置此值recipes_path。搜索表单可以跨多个具有自己的搜索操作的控制器使用。我的应用程序可以在不同的页面上搜索不同的型号。
我当然可以想出一种方法来做到这一点,但我想知道“正确”的方法,或者我认为是“rails”方法,即根据表单要搜索的数据,动态地将表单操作设置为不同的控制器操作。
发布于 2018-05-24 02:59:32
一种简单的方法,如果没有复杂的问题,并且您遵循约定,可以是这样的
%form.search{ method: 'get', action: "/#{controller_name}/search" }所以如果你在users_controller中,它将打印"users",如果你在static_pages_controller中,它将显示"static_pages“,依此类推。
https://stackoverflow.com/questions/50493597
复制相似问题