过去几个小时我一直在努力解决这个问题:
我有一个嵌套的表单(如下所示)并且它正在工作,但是对于我的生活,我无法想象如何访问_form_outcome_ratings.html.erb中的:student_id。它在创建的隐藏字段中显示相应的student_id,但我不知道如何访问该号码以显示评级字段旁边的学生姓名。当我尝试引用:student_id或:student_id.to_s时,它返回“student_id”而不是数字。我想我错过了或者误解了一些非常基本的东西,但我无法弄清楚是什么!
感谢您抽出时间来查看此内容,并告诉我是否需要澄清或添加内容。
/app/views/learning_outcomes/_form_rate.html.erb
<% form_for(@learning_outcome) do |f| %>
<% f.fields_for :outcome_ratings do |g| %>
<%= render :partial => 'form_outcome_ratings', :locals => {:f => g} %>
<% end %>
<%= f.submit %>
<% end %>
/app/views/learning_outcomes/_form_outcome_ratings.html.erb
<%= f.hidden_field :student_id %>
<%= f.label :rating %><%= f.text_field :rating %>
/app/controllers/learning_outcomes_controller.rb
def rate
@learning_outcome = LearningOutcome.find(params[:id], :include => {:section => {:students => {:outcome_ratings => [:learning_outcome, :student]}}})
@learning_outcome.section.students.each do |student|
@learning_outcome.outcome_ratings.build(:student_id => student.id) if student.outcome_ratings.where(:learning_outcome_id => @learning_outcome.id).blank?
end
end
答案 0 :(得分:2)
不确定我理解你想要什么,但是......
如果您执行以下操作,则可以在表单构建器中访问模型的所有变量:
f.object.your_variable
示例:
f.object.id