Has_many:通过Rails 4实例变量不起作用

时间:2015-05-20 21:32:36

标签: ruby-on-rails ruby ruby-on-rails-4 associations strong-parameters

我在Entity中遇到强大的障碍问题。 我有3个模型useruser_entityUser_entity

entityuserhas_many :through<p> <strong>User:</strong> <%= @user_entity.user_id %> </p> 关联联系在一起。

这是完美运作的代码!

/views/user_entity/show.html.erb

<p>
  <strong>User:</strong>
  <%= @user_entity.user.name %>
</p>

在这里,当我修改它时,它没有!

strong params

我得到的错误是:

  

未定义的方法`用户&#39;为#Extracted   来源(第433行):
        其他           match = match_attribute_method?(method.to_s)           比赛 ? attribute_missing(match,* args,&amp; block):super         结束       端

我认为是因为user不允许我从user_entity控制器访问数据,但我不知道如何将该数据列入class Entity < ActiveRecord::Base accepts_nested_attributes_for :user_entities has_many :user_entities has_many :users, :through => :user_entities end 模型列表。

请帮忙。

/models/entity.rb

class User < ActiveRecord::Base
  accepts_nested_attributes_for :user_entities
  has_many :user_entities
  has_many :entities, :through => :user_entities
end

/models/user.rb

class User_entity < ActiveRecord::Base
  belongs_to :entities
  belongs_to :users
end

/models/user_entity.rb

(desktop-change-dir default-directory)

1 个答案:

答案 0 :(得分:0)

看起来你拼错了<%= @eser_entity.user.name %>

应为<%= @user_entity.user.name %>

修改

在/models/user_entity.rb中,您使用class User_entity作为模型的类名。类名应该是CamelCased:

class UserEntity < ActiveRecord::Base
  ...
end