Ruby on rails 局部变量未传递给局部变量

Ruby on rails 局部变量未传递给局部变量,ruby-on-rails,Ruby On Rails,以下是我的视图代码,其中渲染了部分: <%= render partial: 'foo' , :locals => { :user => @current_user } %> {:user=>@current_user}%> 这是我的“foo”部分: <%= simple_form_for :foobar %> <%= user.id %> .... <% end %> .... 但我遇到了这个错误: undefined l

以下是我的视图代码,其中渲染了部分:

<%= render partial: 'foo' , :locals => { :user => @current_user } %>
{:user=>@current_user}%>
这是我的“foo”部分:

<%= simple_form_for :foobar %>
<%= user.id %>
....
<% end %> 

....
但我遇到了这个错误:

undefined local variable or method `user' for #<#<Class:0xac52574>:0xb58178dc>
未定义的局部变量或方法“user”#

注意:在rails 4上,ruby 1.9.3

@变量在操作、视图和部分之间共享,因此您应该能够在部分中直接使用
)Yoshiiji先生的答案是正确的。但我想知道为什么需要@current\u用户变量。以前从没见过。。我认为直接返回当前用户的方法会更方便。我说得对吗?:-)@Mattherick是对的,@Pooya您应该创建一个helper方法
current\u user
,返回当前登录的用户。(大多数登录gem都有这个
current\u user()
方法,如果你有自己的登录系统,你可以编写自己的:)试试这个:
@current\u user}%>
甚至
@current\u user%>
@MrYoshiji我只是在测试通过本地人,我很熟悉designe!没有一个解决方案有效,仍然会出现错误!也许这是一种rails 4错误!