2014-03-19 47 views
0

我想知道如何在視圖中顯示多個複選框的值?以下是我正在談論的一個例子。如何在rails視圖中顯示覆選框值

<% ExamPaper.all.each do |key, val| %> 
    <%= f.check_box :exam_type, {:multiple => true}, key.exam_name, :class => 'exam_type'%> 
    <%= key.exam_name %> 
<% end %> 

在我看來我試圖顯示保存在數據庫中的項目,像這樣;

<%= exam.exam_type %> 

並沒有顯示任何內容。我將如何顯示在rails視圖中保存的項目?

謝謝..

回答

1

ExamPaper.all.each將讓您遍歷的ExamPaper實例,而不是|key, val|對。目前還不完全清楚您是否想要循環考試論文或其他類別ExamType以選擇論文類型。

我的猜測是你想要的東西更接近:

<% ExamPaper.all.each do |paper| %> 
    <%= f.check_box :exam_type, { :multiple => true, :class => 'exam_type' }, paper.id %> 
    <%= paper.name %> 
<% end %> 

假設你exam_papersnameid屬性。

+0

嗨沙德韋爾。 ExamPaper的值由另一個模型考試保存。它在考試視圖中,我想顯示用戶選擇的多個exam_types。如<%= @ exam.exam_type%>中沒有顯示任何內容。 – capdiz

+0

會寫一個答案(我認爲) –

0

它在考試視圖,我想顯示用戶

此選擇多exam_types 實際上是關於ActiveRecord Associations

#app/models/user.rb 
Class User < ActiveRecord::Base 
    has_many :exam_types 
    has_many :exams, through: :exam_types 
end 

#app/models/exam.rb 
Class Exam < ActiveRecord::Base 
    has_many :exam_types 
    has_many :users, through: :exam_types 
end 

#app/models/exam_types.rb 
Class ExamType < ActiveRecord::Base 
    belongs_to :exam 
    belongs_to :user 
end 

#app/controllers/exams_controller.rb 
def show 
    @exam = current_user.exams.find(params[:id]) 
end 

#app/views/exams/show.html.erb 
<% @exam.exam_types.each do |exam_type| %> 
    <%= exam_type %> 
<% end %>