rails 3 undefined method `model_name' for ActiveRecord::Relation:Class.

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

[quote]
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'
[/quote]


问题解决:

@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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值