ruby-on-rails - 收到语法错误,意外 '=',代码需要 keyword_when

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有一个 Cases 表,它与用户有 has_many 关联。我试图通过在用户显示页面中呈现与用户相关的所有案例来显示它。我无法在这里呈现案例。任何帮助,将不胜感激。

我的用户显示页面代码:

 <table >
  <tr>
    <td >
      <h1>
        Welcome <%= current_user.first_name %>  you are <%= current_user.role %>    
      </h1>
    </td>
    </tr>
    <tr>
      <td>
        <% render @cases %>
      </td>
    </tr>
    </table>

在用户中显示 Controller :

     def show
    @user = User.find(params[:id])
    @cases = @user.cases
    @title = @user.first_name
    end

我在 View /案例中有一个文件 _case.html.erb。

最佳答案

问题是 case 是 Ruby 中的保留字,当 render @cases 时,它会尝试创建一个名为 case< 的局部变量 在局部,这是不允许的。您必须将局部变量称为其他名称。 docs here用这个例子解释如何:

# Renders a collection of partials but with a custom local variable name
render :partial => "admin_person", :collection => @winners, :as => :person

在你的情况下会是:

render :partial => 'case', :collection => @cases, :as => :current_case

然后在 case partial 中,只需使用变量 current_case,否则您将使用变量 case

关于ruby-on-rails - 收到语法错误,意外 '=',代码需要 keyword_when,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9503399/

相关文章:

javascript - 如何让 Turbolinks 停止干扰我的 JS?

ruby-on-rails - 如何供应 Rails3/Bundler 的 gem

ruby-on-rails-3 - 在测试过程中更改 Rails 环境

ruby-on-rails - 如何在heroku上禁用 Assets 管道?

ruby-on-rails-3 - 在哪里覆盖设计 gem 的 current_user 辅助方法

ruby-on-rails - ActiveRecord 关联选择包含记录的计数

ruby-on-rails - 使用 native 扩展构建二进制文件 - Ruby/Rails

ruby-on-rails - Rails 3 "last"方法从 ActiveRecord 输出返回错误结果

ruby-on-rails - Rails 3.1 升级后的 ActionView::MissingTemplate

ruby - 巨大的 json 对象要出类拔萃?