2013-10-10 27 views
0

特定的控制器動作紅寶石有誰知道怎麼如下意見的形式指向下面我的意見控制器的打招呼動作,任何意見,將不勝感激:點一個表單,在軌道上

<h2>Add a comment:</h2> 
<%= form_for([@venue, @venue.comments.build]) do |f| %> 
    <p> 
    <%= f.label :commenter %><br /> 
    <%= f.text_field :commenter %> 
    </p> 
    <p> 
    <%= f.label :body %><br /> 
    <%= f.text_area :body %> 
    </p> 
    <p> 
    <%= f.submit %> 
    </p> 
<% end %> 

/// ///////////////我的意見控制器:

def hello 
    @venue = Venue.find(params[:venue_id]) 
    @comment = @venue.comments.create(params[:comment].permit(:commenter, :body)) 
    redirect_to venue_path(@venue) 
    end 

回答

1

你必須正確設置路徑,例如:

resources :venues do 
    resources :comments do 
    collection do 
     post :hello 
    end 
    end 
end 

並設置格式的URL這個動作的URL:

<%= form_for(@venue.comments.build, url: hello_venue_comments_path(@venue)) do |f| %> 
+0

我使用上面的提示代碼時出現以下錯誤:未定義的方法'hello_venues_comments_path」 - 這裏的任何提示,在此先感謝。 – Joshua

+0

@Joshua請將「rake routes」的輸出粘貼到您的問題中。 –

+0

@Joshua好吧,我從頭頂上寫下來,並犯了一個錯誤。我編輯了我的答案 - 請現在試試。 –