Rails 4, starke Parameter, verschachtelte Ressourcen, Build und undefinierte Methoden erlauben

Ich kann Rails 4, starke Parameter, nicht für die Arbeit mit verschachtelten Ressourcen per Build erhalten. Anregungen wären sehr willkommen.

RSPEC zeigt es mir

Erstellen von Aktionen Erstellen einer Aktion Fehler / Fehler: click_button "Aktion erstellen" NoMethodError: undefinierte Methodepermit' for "create":String # ./app/controllers/actions_controller.rb:24:inaction_params '# ./app/controllers/actions_controller.rb:10:increate' # ./spec/features/creating_actions_spec.rb:16:inBlock (2 Ebenen) in '

Mein Browser zeigt mir:

NoMethodError in ActionsController # create undefinierte Methode `permit 'für" create ": String

Extrahierte Quelle (um Zeile # 24):

def action_params params.require (: action) .permit (: title,: description) end

Actions Controller enthält:

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

Ich verwende verschachtelte Ressourcen:

resources :projects do
  resources :actions
end

Das Formular sieht wie folgt aus:

<%= 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 %>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage