我有一个来自@Files的对象(我拿出了所有的支票,以缩短它):
@idFiles = params[:file_ids]
@Files = File.find(@idFiles)
对于我想复制/和.create的每个@Files,但除此之外,我想添加用户选择的选项:
@Files.each do |fc|
FileTemp.create(:filename => fc.name , :selectedOption => fc.myOption)
在我看来,我对@Files的每个元素都有1个(选中)'myOption'值:
<% @Files.each do |f| %>
<td><%= f.name %></td>
<td><%= f.path %></td>
[...]
<%= select_tag f.myOption , options_for_select(f.MultipleOptions.split(";")) %>
<% end %>
但是我无法弄清楚如何将选定的值传递给我的Controller,以便创建我的新'FileTemp'对象
非常感谢(我被封锁了几周......)
PS。最初我的意思是使用Ajax来更新该值(无需重新创建另一个对象),但我认为这样会更容易。
答案 0 :(得分:0)
我刚尝试了一个通过select_tag传递额外参数的简单示例。
在我的表单中,我只需添加我需要的select_tag调用
<div class="field">
<%= select_tag :any_name, options_for_select([1, 2]) %>
</div>
如果我现在提交表单,您可以在开发日志中看到传递的参数。
Parameters:
{ ... "any_name" => "1", "product" => { ... }, "commit"=>"Create Product" }
现在我在请求的控制器操作中得到了params [:any_name]。
您必须决定什么符合您的需求。进一步调查here in Rails API