为什么创建方法的参数显示错误?

时间:2015-01-29 19:05:21

标签: ruby-on-rails ruby ruby-on-rails-4

def create  
    @player = Player.create(player_params)
end

为什么player_params显示"未定义的局部变量或方法`player_params'为#" ?

形式:

<%= form_for(@player) do |f|%>
<div class="field">
        <%= f.label :player_name%><br>
        <%=f.text_field :player_name%>
</div>

<div class="field">
    <%=f.label :price%><br>
    <%=f.text_field :price%>
</div>

<div class="field">
    <%= f.label :team_id%>
    <%= f.select(:team_id, options_from_collection_for_select(Team.all,     :id, :team_name),{prompt: 'please choose'}, class: "form-control")%>
</div>

<div class="actions">
<%= f.submit %>
</div>
<% end %>

2 个答案:

答案 0 :(得分:2)

我认为你错过了player_params部分

这是一个示例:(取决于您的型号)

def player_params
  params.require(:player).permit(:name, :desc)
end

更多信息: http://guides.rubyonrails.org/action_controller_overview.html

答案 1 :(得分:2)

你应该定义一个player_params的方法,然后允许所需的变量。