2015-02-20 3 views
0

У меня есть набор форм с помощью следующего кода:форма с направлением маршрута не работает

<h2>Add collaborators to the wiki </h2> 

<table> 
<tr> 
<th>Name</th> 
<th>Email</th> 
<th>Give Access</th> 
</tr> 

<tr> 
<%= form_for (@collaboration) do |f| %> 
<% @users.each do |user| %> 
<td><%= user.name %></td> 
<td><%= user.email %></td> 
<td> <%= f.collection_select :user_id, User.all, :id, :name, prompt: true %> </td> 
</tr> 

    <%= f.submit %> 
<% end %> 
</table> 
<%= f.submit %> 
<% end %> 

И мои маршруты настроены так:

resources :wikis do 
     resources :collaborations 
    end 

И в моем контроллере я определил мои переменные, как это:

 def new 
     @wiki = Wiki.find(params[:wiki_id]) 
     @collaboration = @wiki.collaborations.new 
    end 

Но когда я захожу на страницу нажав на ссылку я создал

<%= link_to 'Add Collaborator', new_wiki_collaboration_path(@wiki) %> 

Я все еще получаю эту ошибку:

undefined method `collaborations_path' for #<#<Class:0x007f8b6a5a8a00>:0x007f8b67820c90> 

Любые мысли о том, что здесь идет не так?

ответ

1

Ваша форма здесь только для collaboration_path, которую вы не определили.

<%= form_for (@collaboration) do |f| %> 
<% end %> 

Вам нужно включить вики

<%= form_for ([@wiki, @collaboration]) do |f| %> 
<% end %> 
+0

Благодаря @japed был полностью то, что я искал! – user3706202

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