Rails 4, сильные параметры, вложенные ресурсы, сборка и неопределенный метод позволяют
Я не могу получить rails 4, сильные параметры для работы с вложенными ресурсами через сборку. Любые предложения будут очень приветствоваться.
RSPEC показывает мне
Создание действий Создание действия Ошибка / Ошибка: нажмите кнопку «Создать действие» NoMethodError: метод не определенpermit' for "create":String # ./app/controllers/actions_controller.rb:24:in
action_params '# ./app/controllers/actions_controller.rb:10:increate' # ./spec/features/creating_actions_spec.rb:16:in
блок (2 уровня) в '
Мой браузер показывает мне:
NoMethodError в ActionsController # create неопределенный метод `allow 'для« create »: строка
Извлеченный источник (около строки № 24):
def action_params params.require (: action) .permit (: title,: description) end
Контроллер действий содержит:
def create
@action = @project.actions.build(action_params)
if @action.save
flash[:notice] = "Action has been created."
redirect_to [@project, @action]
else
flash[:alert] = "Action has not been created."
render "new"
end
end
private
def action_params
params.require(:action).permit(:title, :description)
end
Я использую вложенные ресурсы:
resources :projects do
resources :actions
end
Форма выглядит следующим образом:
<%= form_for [@project, @action] do |f| %>
<% if @action.errors.any? %>
<div id="error_explanation" >
<h2><%= pluralize(@action.errors.count, "error") %>
prohibited this action from being saved:</h2>
<ul>
<% @action.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :description %><br>
<%= f.text_area :description %>
</p>
<%= f.submit %>
<% end %>