2015-01-29 2 views
-2
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 %> 
+1

Где вы определили 'player_params'? –

+0

Я думаю, что у меня есть концептуальная проблема. Не могли бы вы рассказать мне, что делать или предложить мне, где определить? – user3420043

+1

у вас должен быть метод с именем 'player_params' (т. Е. Блок метода, начинающийся с' def player_params' в этом файле, или файл, определяющий класс, на который этот наследует. –

ответ

2

Я думаю, вы просто пропустили player_params часть

Здесь образец один: (Это зависит от модели)

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

Дополнительная информация : http://guides.rubyonrails.org/action_controller_overview.html

+0

OFF: Спасибо за переформулировку, просто попал в это UI :) –

+0

Отлично !. большое спасибо – user3420043

2

вы должны определить метод player_params, а затем разрешить переменные, которые требуются.

+0

Это как раз ответ на вопрос, фактически. – sevenseacat

Смежные вопросы