新手问题 关于多选数据修改

a4652097 · 2014年12月08日 · 最后由 serco 回复于 2014年12月18日 · 3448 次阅读

我有一张 orders 表,有一个全选功能,我全选或者自由选择后,再对此订单进行操作该怎么写呢?

页面

<td><%= check_box_tag "check_box","check" %></td>
<td><%= order.order_num %></td>
<td class="dropdown">
      <%=link_to "#",:class=>"dropdown-toggle",:data=>{:toggle=>"dropdown"} do%>
        订单操作 <b class="caret"></b>
      <ul class="dropdown-menu">
        <li>
          <%=link_to "支付", payment_admin_order_path(order.id)%>
        </li>

        <li><%=link_to "发货", deliver_good_admin_order_path(order.id)%></li>

        <li><%=link_to "完成", order_state_admin_order_path(order.id)%></li>

        <li>
          <%=link_to "取消", to_void_admin_order_path(order.id)%>
        </li>
        </ul>
      <% end %>  
  </td>        

我有一张 orders 表 => 表结构是什么? 有一个全选功能 => 全选什么? 再对此订单进行操作该怎么写呢?=> 什么操作?

#1 楼 @Rei 大神请过目,我就是不知道,controller 里怎么写,拿到页面上复选框选中的内容。

@ greatghoul

#2 楼 @a4652097 用语言清晰描述你的问题。

#6 楼 @Rei 页面上有一个遍历,其中有一个复选框,当我全选后,controller 里怎么得到页面上复选框选中了的行的 id,然后进行修改操作。

问题不是你 controller 里怎么写,而是你参数该怎么传 标题明确,内容清晰,才可能获得高质量的回答。请搜索“提问的艺术”。

#9 楼 @a4652097 我的理解是你不会传数组是吧?
把 checkbox 的 name 设成

name="order[ids][]"

controller 里

params[:order][:ids] 

就是个数组了

#10 楼 @zhang_soledad 我不耻下问的再问一下我页面是这样写的

<td><%= check_box_tag "order[ids][]" %></td>

controller

def payment
  @order = Order.find(params[:order][:ids] )
  @order.update_attributes(:order_pavment_state => '已付款')
  redirect_to admin_orders_path
end

以下错误 undefined method `[]' for nil:NilClass

=check_box_tag("order[ids][]", order.id, checked = false )

这种问题真不该喂的 只是我现在很闲 还蛋疼 基础的http://guides.rubyonrails.org/上面基本都有 遇到翻翻大部分问题就解决了 不必来求人 做人要不卑不亢 别遇到人就大神大神的叫 大部分人都称不上大神

railscast 里面有讲到,http://railscasts.com/episodes/165-edit-multiple-revised?autoplay=true 建议把所有的 railscast 的 video 过一遍,可以少走弯路。

#13 楼 @nowherekai 居然还要 9 美刀

#14 楼 @a4652097 你该说仅仅只要 9 美刀,再也不用求大神

这孩子肯定没好好学语文!

#16 楼 @gerry1004 或者字典的解释已经跟我们上学的时候不一样了,哈哈

需要 登录 后方可回复, 如果你还没有账号请 注册新账号