我为模型设置了一个简单的表单。尽管无法正常工作。
<%= f.input :folder, collection: current_user.folders, label_method: :name, value_method: :slug, selected: params[:folder] %>
我正在通过参数设置输入的selected
属性。因此,如果网址以?folder=First+Folder
这样结束,则我希望输入内容在上面的代码(即current_user.folders
)中设置的集合中进行搜索并将其设置为选中状态。它确实有效,但并非如此。
说选择标签中的选项是这样的
无论params [:folder]的值是什么, ,select标记始终会选择第一个选项。在这种情况下:“第一个文件夹”。 params[:folder]
设置为“第二文件夹”还是“第三文件夹”都没有关系。它将始终设置为“第一个文件夹”或select标签中的第一个选项。
有什么建议吗?
答案 0 :(得分:0)
def new
@file = File.new
@file.folder = params[:folder]
end
答案 1 :(得分:0)
解决了。我需要将子弹传递给选定的属性,而不是名称。如果要实现此功能,则可能使用id
而不是slug
。无论如何,这对我有用。
<%= f.input :folder,
collection: current_user.folders,
label_method: :name,
value_method: :slug,
selected: @folder.slug
%>