2011-08-18 41 views
2
 <%= form_for rating_ballot, :html => { :class => 'rating_ballot' } do |f| %> 
      <%= f.label("value_1", content_tag(:span, '1'), {:class=>"rating", :id=>"1"}) 
      radio_button_tag("rating[value]", 1, current_user_rating == 1, :class => 'rating_button') %> 
      <%= f.label("value_2", content_tag(:span, '2'), {:class=>"rating", :id=>"2"}) 
      radio_button_tag("rating[value]", 2, current_user_rating == 2, :class => 'rating_button') %> 
      <%= f.label("value_3", content_tag(:span, '3'), {:class=>"rating", :id=>"3"}) 
      radio_button_tag("rating[value]", 3, current_user_rating == 3, :class => 'rating_button') %> 
      <%= f.label("value_4", content_tag(:span, '4'), {:class=>"rating", :id=>"4"}) 
      radio_button_tag("rating[value]", 4, current_user_rating == 4, :class => 'rating_button') %> 
      <%= f.label("value_5", content_tag(:span, '5'), {:class=>"rating", :id=>"5"}) 
      radio_button_tag("rating[value]", 5, current_user_rating == 5, :class => 'rating_button') %> 

      <%= hidden_field_tag("message", msg.message) %> 
      <%= f.submit :Submit %> 
     <%- end -%> 

這是我的形式,我想建立一個系統,用戶可以在「星」系統的形式this教程排名信息。我遵循了教程中的所有說明,但是當我包含這個表單時,我得到了一個nomethoderror undefined method 'ratings_path'。在我的home_helper中,我有Rails的形式不斷返回nomethoderror

def rating_ballot 
    if @rating = current_user.ratings.find_by_id(params[:msg]) 
     @rating 
    else 
     current_user.ratings.new 
    end 
    end 

    def current_user_rating 
    if @rating = current_user.ratings.find_by_id(params[:msg]) 
     @rating.value 
    else 
     "N/A" 
    end 
    end 

爲什麼我會收到此錯誤?謝謝

回答

4

這是一個路由問題。 * _path被稱爲路徑助手。運行rake routes以查看您擁有哪些路線。您可能需要爲您的操作添加新路線才能使用路徑助手。從你的代碼,我猜你將需要:

資源:評級

但它是任何人的猜測你的應用程序的其它部分是什麼樣子。

+0

感謝您的幫助,但這並不奏效,我應該發佈其他哪些代碼,以便我可以獲得有關此問題的幫助?謝謝 – user852974

+0

它看起來像你的*助手*你正在初始化你的行動?您可能想回到繪圖板並查找一些MVC資源。否則,我寧願看到你的*控制器*而不是*助手*。 –

+0

我沒有任何與我的home_controller中的rating_ballot相關的代碼 – user852974