Ruby on rails 未定义的局部变量或方法'blog';?
我正在开发一个rails应用程序,我有一个Dashboard::user(Dashboard/user)控制器,我希望用户能够通过站点的后端更新他们的博客文章。这很好,但是当我试图获取一个用户创建的最新博客文章列表时,我得到了一个错误 仪表板/用户/控制器Ruby on rails 未定义的局部变量或方法'blog';?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在开发一个rails应用程序,我有一个Dashboard::user(Dashboard/user)控制器,我希望用户能够通过站点的后端更新他们的博客文章。这很好,但是当我试图获取一个用户创建的最新博客文章列表时,我得到了一个错误 仪表板/用户/控制器 def content @blog = Blog.new render ('content') end 仪表板/blogs/_blog_list.html.erb <%= div_for(:dashboard ,blog) d
def content
@blog = Blog.new
render ('content')
end
仪表板/blogs/_blog_list.html.erb
<%= div_for(:dashboard ,blog) do %>
<%= link_to image_tag(blog.preview.url(:thumb)), dashboard_blog_path(blog) %>
<h1><%= link_to (blog.title),dashboard_blog_path(blog) %></h1>
<p><%= truncate blog.excerpt, length: 160 %></p>
<%= blog.published_at %>
<%= blog.site_id %>
<% end %>
<%= render :partial => 'dashboard/blogs/blog_list', :locals => {:blogs => @blog} %>
content.html.erb
<%= div_for(:dashboard ,blog) do %>
<%= link_to image_tag(blog.preview.url(:thumb)), dashboard_blog_path(blog) %>
<h1><%= link_to (blog.title),dashboard_blog_path(blog) %></h1>
<p><%= truncate blog.excerpt, length: 160 %></p>
<%= blog.published_at %>
<%= blog.site_id %>
<% end %>
<%= render :partial => 'dashboard/blogs/blog_list', :locals => {:blogs => @blog} %>
'dashboard/blogs/blog_list',:locals=>{:blogs=>@blog}%>
这不起作用的原因是什么?我最好的猜测是,从未设置局部变量
blog
@blog
将在部分中可用,但blog
仅在显式设置时可用,例如,如果通过
render :partial => "blogs/blog_list", :locals => {:blog => @blog}
有关partials的更多详细信息,请参阅。我最好的猜测是,从未设置局部变量
blog
@blog
将在部分中可用,但blog
仅在显式设置时可用,例如,如果通过
render :partial => "blogs/blog_list", :locals => {:blog => @blog}
有关partials的更多详细信息,请参阅。
div_for(:dashboard ,blog)
“:dashboard”应该是div标记的id属性值的前缀吗?就是说,你想得到这样的东西吗
<div id='dashboard_blog_123'>...</div>
如果这还不能解决问题,请查看您的分部是如何呈现的,以及它是否提供了一个名为“blog”的局部变量。
div_for(:dashboard ,blog)
“:dashboard”应该是div标记的id属性值的前缀吗?就是说,你想得到这样的东西吗
<div id='dashboard_blog_123'>...</div>
如果这还不能解决问题,请查看您的分部是如何呈现的,以及它是否提供了一个名为“blog”的局部变量。如果blog位于dashboard文件夹中,这是否也起作用?Rails也向我抛出了同样的错误。你能粘贴呈现这个部分的行吗?另外,您是否已将所有出现的
blog
替换为@blog
?现在您已定义了一个局部变量blogs
,但仍在引用blog
。blogs是控制器的名称,但我无法确定如何访问该变量。我会继续尝试,把代码弄乱。当您使用render:partial=>'dashboard/blogs/blog_list',:locals=>{:blogs=>@blog}
时,您的回答可能是正确的,您说的是“将_blog_list部分呈现,并在其中将局部变量blogs
绑定到@blog
”。如果您将:blog
更改为仅blog
,那么它应该可以按照您的意愿工作。如果blog位于仪表板文件夹中,这是否也可以工作?Rails也向我抛出了同样的错误。你能粘贴呈现这个部分的行吗?另外,您是否已将所有出现的blog
替换为@blog
?现在您已定义了一个局部变量blogs
,但仍在引用blog
。blogs是控制器的名称,但我无法确定如何访问该变量。我会继续尝试,把代码弄乱。当您使用render:partial=>'dashboard/blogs/blog_list',:locals=>{:blogs=>@blog}
时,您的回答可能是正确的,您说的是“将_blog_list部分呈现,并在其中将局部变量blogs
绑定到@blog
”。如果您将:blogs
更改为仅blog
,那么它应该可以按照您的意愿工作。