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

这是我的表单,我正在尝试创建一个系统,让用户在教程的“星”系统表单中对消息进行排名。我已按照教程中的所有说明进行操作,但是当我包含此表单时,我得到了 nomethoderror undefined method 'ratings_path'。在我的 home_helper 我有

  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

1 回答 1

4

这是一个路由问题。*_path 被称为路径助手。跑来rake routes看看你有什么路线。您可能需要为您的操作添加新路线才能使用路径助手。从您的代码中,我猜您将需要:

资源:评级

但是任何人都猜到你的应用程序的其余部分是什么样子的。

于 2011-08-18T07:11:12.443 回答