2011-06-09 88 views
0

我希望能夠從視圖中檢查從我的數據庫中選擇的一些元素,並將其顯示在我的視圖中的表格中。這個想法是建立一個元素的ID列表,並使用此列表打印所有選定的元素。所以我試圖用複選框來選擇或不是我的表的每一行。然後我想用一個「link_to」通過一個參數來調用控制器動作,該參數包含我的ID列表:如何使用視圖中的複選框來創建列表

<%= link_to'Printer',:controller =>'MyController',:action => 'MyAction',:element_list => mylistofelement%>

但我沒有成功創建mylistofelement。我如何建立一個列表到視圖,並能夠讓mylistofelement看起來像「1,3,6,7,8」或一個數組,..但我可以用作一個參數來處理我的控制器操作。

謝謝

回答

0

好的!所以這是一個解決方案。我在rails 3.1.0rc2中做了這個btw。

所以你的觀點應該是這個樣子

<%= form_tag 'display' %> 
<% @artists.each do |artist| %> 
    <tr> 
    <td><%= artist.name %></td> 
    <td><%= artist.song %></td> 
    <td><%= check_box("display", artist.id) %></td> 
    </tr> 
<% end %> 

<%= submit_tag 'Print' %> 

<% end %> 

這將發佈到「顯示」在當前的控制器(我加了它的routes.rb) 您可以在軌道檢查服務器日誌窗口它張貼我們的值在PARAMS

「顯示」=> { 「1」=> 「1」, 「2」=> 「0」, 「3」=> 「0」}

「1 「=>」1「表示artist.id = 1,並檢查相應的複選框。 「3」=> 「0」 artist.id = 3的複選框取消選中

class ArtistsController < ApplicationController 
    def display 
     @ids = [] 
     params[:display].each do |key,val| 
     if val != "0" 
      @ids << key 
     end 
     end 

     render 'display' 
    end 

只是我togheter砍死......希望它幫助!

+0

@eldewall:不,我有樣品表藝術家(編號,名稱,歌曲)。我顯示格式化作爲 一個視圖中的表內容<在@artists%爲藝術家 - %> ​​artist.id​​artist.name​​artist.song我想創建與複選框重新TD選擇i行想要發送到將打印相關信息的動作。 – 2011-06-09 16:06:54

+0

啊你看着做某種形式,並使用check_box_tag助手。 http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag – eldewall 2011-06-09 16:54:13

+0

可能是但我該怎麼辦? – 2011-06-10 07:41:53

相關問題