【发布时间】:2015-08-29 23:30:43
【问题描述】:
我有一个名为“Notes”的表格,并在 _form.html.erb 中有一个下拉列表,其中包含一个名为 subject 的模型中的主题列表,该模型有效。
<div class="field">
<%= f.label :subject, class: 'dropdown' %>
<div class="dropdown">
<div class="field">
<%= f.collection_select(:id, Subject.all, :id, :subject) %>
</div>
问题是我无法将它打印到“显示”或“表格”,我想知道如何做到这一点?
笔记索引视图:
<tbody>
<% @notes.each do |note| %>
<tr>
<td><%= note.created_at.localtime %></td>
<td><%= note.updated_at.localtime %></td>
<td><%= note.user_id %></td>
<td><%= note.user.full_name %></td>
<td><%= note.user.email %></td>
<td><%= note.studentname %></td>
**<td><%= note.subject.subject %></td>**
<td><%= note.grievance %></td>
<td><%= note.penalty %></td>
<td><%= link_to 'Show', note, class: 'btn btn-primary btn-xs' %></td>
我知道我必须在 notes_controller 中定义主题模型。我一直在尝试这样做,但没有成功。
def subject
@subject = Subject.all
end
主题架构
create_table "subjects", force: :cascade do |t|
t.string "subject"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
我要做的就是在主题下拉列表中选择选项,从主题模型中填充,以在注释表上显示/打印。我是rails的新手。非常感谢任何帮助,如果需要,将提供更多代码。谢谢!
【问题讨论】:
-
我不确定你愿意实现什么,但是定义动作
subject对你没有任何好处,可能任务应该在show动作中完成。 -
谢谢,我有一个下拉选项菜单,其中包含从主题表中填充的主题列表,我想将用户选择的选项打印到上面的注释表中。我尝试了你的建议,但我仍然得到 nil:NilClass 的未定义方法“主题”
标签: ruby-on-rails ruby ruby-on-rails-4