Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的局部变量或方法'blog';?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 未定义的局部变量或方法'blog';?

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

我正在开发一个rails应用程序,我有一个Dashboard::user(Dashboard/user)控制器,我希望用户能够通过站点的后端更新他们的博客文章。这很好,但是当我试图获取一个用户创建的最新博客文章列表时,我得到了一个错误

仪表板/用户/控制器

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
,那么它应该可以按照您的意愿工作。