rails 三 undefined method `model_name' for ActiveRecord:Relation:Class
rails 3 undefined method `model_name' for ActiveRecord::Relation:Class.
rails 3 form_for 的问题
undefined method `model_name' for ActiveRecord::Relation:Class.
需要修改
下面有个人和我类似
NoMethodError in Users#index
undefined method `events' for #<ActiveRecord::Relation:0x4177518>
Extracted source (around line #10):
7: <th><%= sortable "Tracks" %></th>
8: </tr>
10: <% @users.events.each do |event| %>
11: <% debugger %>
12: <tr>
13: <td><%= event.starts_at %></td>
Trace of template inclusion: app/views/users/index.html.erb
Rails.root: C:/rails_project1/events_manager
Application Trace | Framework Trace | Full Trace
app/views/users/_event_user.html.erb:10:in `_app_views_users__event_user_html_erb__412443848_34308540_1390678'
app/views/users/index.html.erb:7:in `_app_views_users_index_html_erb___603337143_34316016_0'
问题解决:
rails 3 form_for 的问题
undefined method `model_name' for ActiveRecord::Relation:Class.
def edit @office = Office.where("id = ? AND company_id = ?", params[:id], @company.id ) end
<%= simple_form_for @office, :url => settings_office_path, :html => { :class => "office_form" } do |f| %> <h1>Edit <%= @office.office_name %> Details</h1> <%= render :partial => 'form', :locals => { :f => f } %> <% end %>
需要修改
@office = Office.where(:company_id => @company.id).find(params[:id]) @office = @company.offices.find(params[:id])
下面有个人和我类似
class Event < ActiveRecord::Base belongs_to :user attr_accessible :event_name, :Starts_at, :finish, :tracks end
class User < ActiveRecord::Base has_many :events, :dependent => :destroy attr_accessible :name, :event_attributes accepts_nested_attributes_for :events, :allow_destroy => true end
ActiveRecord::Schema.define(:version => 20101201180355) do create_table "events", :force => true do |t| t.string "event_name" t.string "tracks" t.datetime "starts_at" t.datetime "finish" t.datetime "created_at" t.datetime "updated_at" t.integer "user_id" end end
引用
NoMethodError in Users#index
undefined method `events' for #<ActiveRecord::Relation:0x4177518>
Extracted source (around line #10):
7: <th><%= sortable "Tracks" %></th>
8: </tr>
10: <% @users.events.each do |event| %>
11: <% debugger %>
12: <tr>
13: <td><%= event.starts_at %></td>
Trace of template inclusion: app/views/users/index.html.erb
Rails.root: C:/rails_project1/events_manager
Application Trace | Framework Trace | Full Trace
app/views/users/_event_user.html.erb:10:in `_app_views_users__event_user_html_erb__412443848_34308540_1390678'
app/views/users/index.html.erb:7:in `_app_views_users_index_html_erb___603337143_34316016_0'
问题解决:
@users = User.find(<conditions go here>) #要变成 @users = User.where(<conditions go here>).all #或者如下 @users = User.where(:admin => true).where('created_at > ?', min_date).order('created_at').limit(10).all