我一直在阅读和观看嵌套表格上的视频,但我没有运气好运。 (......我知道这一定非常容易......)
我有这个观点'views / comments / new':
<% form_for([@job, @comment]) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :body %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
...我想将此表单/文本框移动到“jobs / show”视图。
我的工作模式: job.rb
belongs_to :user
has_many :comments, :dependent => :destroy
has_many :assets
accepts_nested_attributes_for :assets
accepts_nested_attributes_for :comments
我想要的是在此作业“显示”页面底部添加新评论的表单。而不是去“/ jobs / 15 / comments / new”,我想在工作展示视图中使用“新评论”表单。
我怎么能这样做?
干杯。
答案 0 :(得分:0)
如果我做对了,你想在工作展示页面上显示工作的所有评论,对吗?
如果是这种情况,我认为以下代码将完成这项工作:
<% @job.comments.each do |comment| -%>
<%= comment.body %>
<p/>
<% end -%>
答案 1 :(得分:0)
您可以将注释/新版权中的表单代码放入作业/显示视图中,但您需要确保在控制器中定义@comment。
jobs_controller.rb
def show
@job = Job.find(params[:id])
@comment = @job.comments.new
respond_to do |format|
format.html
end
end
您可能希望确保注释的创建操作将用户重定向回作业,而不是注释。
我个人的建议是将该表单移动到部分,但如果您刚开始使用rails,这将使您朝着正确的方向前进。