Javascript 集合\u使用嵌套资源选择

Javascript 集合\u使用嵌套资源选择,javascript,ruby-on-rails-3.1,Javascript,Ruby On Rails 3.1,所以,我的第一个问题是Stackoverflow! 让我们看看情况如何 因此,我有一个集合\u select代表您当前所在的类别: <%= collection_select(:category, :slug, current_user.categories, :slug, :name) %> 我想让集合\u select根据url参数自动选择当前类别,目前为止,该选项有效: http://myproject.com/categories/action 所选值与当前url参数相同

所以,我的第一个问题是Stackoverflow! 让我们看看情况如何

因此,我有一个
集合\u select
代表您当前所在的类别:

<%= collection_select(:category, :slug, current_user.categories, :slug, :name) %>
我想让
集合\u select
根据url参数自动选择当前类别,目前为止,该选项有效:

http://myproject.com/categories/action
所选值与当前url参数相同。 但当用户导航到帖子时,它不起作用:

http://myproject.com/categories/action/my-new-post
这将重置
集合\u select
,我想这与嵌套资源有关,我该怎么办


澄清一下:当用户选择一个类别时,我有一个非常简单的javascript来重新加载页面。

听起来你想为你的集合选择设置一个初始值。比如:

<%= collection_select(:category, :slug, current_user.categories, :slug, :name {:selected => params[YOUR_PARAM_NAME_HERE]}) %>
params[您的参数名]}]>
或者,如果你可以这样做

<%= collection_select(:category, :slug, current_user.categories, :slug, :name {:selected => @category.slug} %>
@category.slug}%>

差不多是这样吗?

是的,但只有在我的第二种情况下才有效:
http://myproject.com/categories/action/my-new-post
如果我在post
http://myproject.com/categories/action/my-new-post
参数为:
类别id
,如果我只是一个类别,那就是:
id
。如果我没有定义
:selected=>params[:category\u id]
它在我发表文章时起作用,如果我定义了它,它在我只是在一个类别中时不起作用。经过一些阅读,难道不是应该自动地找出这个问题吗?实际上找到了一个有效的解决方案:
:selected=>lambda{return params[:id]| params[:category_id]}。调用
,但我真的怀疑这是最好的,甚至是一个好的解决方案。必须有一种更干净的方法来做到这一点。
<%= collection_select(:category, :slug, current_user.categories, :slug, :name {:selected => @category.slug} %>