Ruby on rails 为嵌套对象创建隐藏字段时出错
我使用的是rails 2.3.5。我有一个博客模型和博客有很多评论。这是我的博客控制器显示操作Ruby on rails 为嵌套对象创建隐藏字段时出错,ruby-on-rails,Ruby On Rails,我使用的是rails 2.3.5。我有一个博客模型和博客有很多评论。这是我的博客控制器显示操作 def show @blog = Blog.find(params[:id]) @comment = Comment.new end 我会显示博客,最后会有一个创建评论的选项。所以我把它添加到blogs/show.html.erb中 <% form_remote_for @comment do |f| %> <%= f.label :content %>
def show
@blog = Blog.find(params[:id])
@comment = Comment.new
end
我会显示博客,最后会有一个创建评论的选项。所以我把它添加到blogs/show.html.erb中
<% form_remote_for @comment do |f| %>
<%= f.label :content %>
<%= f.text_area :content, :rows => 6 %>
<%= f.hidden_field :blog => @blog %>
<%= f.submit %>
<% end %>
6 %>
@博客%>
但是当我运行这个程序时,我得到了以下错误
博客中的命名错误#显示
显示app/views/blogs/show.html.erb,其中第270行出现:
undefined method `blog#<Blog:0xb677d8d0>' for #<Comment:0xb67762b0>
未定义的方法“blog#”#
提取的源代码(在第270行附近):
注释
模型应该有属于:blog
博客
模型应该有有很多评论
在控制器中初始化注释,如下所示:
@blog.comments.new
视图应如下所示:
<%= f.hidden_field :blog_id %>
评论
模型应该有属于:blog
博客
模型应该有有很多评论
在控制器中初始化注释,如下所示:
@blog.comments.new
视图应如下所示:
<%= f.hidden_field :blog_id %>
您必须隐藏博客的id,而不是博客对象
<%= f.hidden_field :blog_id%>
您必须隐藏博客的id,而不是博客对象
<%= f.hidden_field :blog_id%>
问题在于您的
f.hidden\u字段
行。第一个参数应该是字段中所需的@comment
的属性名,但在代码中它是散列
我建议调整您的
show
操作以设置@comment=@blog.comments.build
,并将视图更改为f.hidden\u字段:blog\u id
问题在于您的f.hidden\u字段
行。第一个参数应该是字段中所需的@comment
的属性名,但在代码中它是散列
我建议调整你的
show
操作以设置@comment=@blog.comments.build
,并将视图改为f.hidden\u字段:blog\u id
为“@comment=@blog.comments.build”为“@comment”,仅为“@comment=@blog.comments.build”