首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过select_tag发送额外的参数值

通过select_tag发送额外的参数值
EN

Stack Overflow用户
提问于 2013-02-11 04:02:34
回答 1查看 2.4K关注 0票数 2

我的观点:

代码语言:javascript
运行
复制
<%= form_tag(update_user_products_path, :id => "update_user_form") do %>
<%@products.each do |product| %>
            <div class = "prod">
            <a href='<%= recommendations_path(:product_id => product.id, :rating_set_id => params[:rating_set_id]) %>' target="_blank"><img src='<%= product.cover_img %>' class='product_image_prods'></img></a>
            <div class= "title"><small><b><%= link_to truncate(product.title, :length =>30),  recommendations_path(:product_id => product.id, :rating_set_id => params[:rating_set_id]), :target => '_blank' %></b></small></div>
            <br/>
            <div><em>Current Rating: <%= product.rating %> </em></div>
            <%= select_tag "user_id:#{product.id}", options_for_select(User.all.collect {|u| [ u.name, u.id ] })%>
            </div>
            <% end %>
    <%= submit_tag %>
<% end %>

我需要向我的控制器更新操作发送两个参数--每个记录的product.id和所选记录的user.id。调用params.keys返回:

代码语言:javascript
运行
复制
utf8
authenticity_token
user_id:1
user_id:2
user_id:3
user_id:4
...
user_id:78
commit
action
controller

我可以用(":")来分割params.keys。执行此操作将返回与params.keys相同的输出。有没有其他方法可以将product.id传递给我的update_user操作?

EN

Stack Overflow用户

回答已采纳

发布于 2013-02-11 08:41:35

可以将select的名称更改为

代码语言:javascript
运行
复制
<%= select_tag :user_id, options_for_select(User.all.collect {|u| [ u.name, u.id ] }), name: "users[#{product.id}]" %>

这将为您提供params[:users]的散列,其中键是product_ids,值是user_ids

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14802018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档