-1

我在Ruby on Rails 4中遇到了強參數問題。我有3個型號Entity,user,user_entityHas_many:通過Rails 4實例變量不起作用

User_entity連在一起entityuserhas_many :through關聯。

這是完美的代碼!

/views/user_entity/show.html.erb

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

在這裏,當我修改它不是!

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

錯誤我得到的是這樣的:

未定義的方法'用戶」的#提取 源(大約線#433):
否則 匹配= match_attribute_method(method.to_s) 比賽 ? attribute_missing(匹配,* ARGS,&塊):超級 結束 結束

我認爲這是因爲strong params不是讓我從user控制器訪問數據,但我不知道如何到白名單該數據user_entity模型。

請幫忙。

/models/entity.rb

class Entity < ActiveRecord::Base 
    accepts_nested_attributes_for :user_entities 
    has_many :user_entities 
    has_many :users, :through => :user_entities 
end 

/models/user.rb

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

/models/user_entity.rb

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

你可以添加你的User,UserEntity和Entity模型到你的問題嗎? –

+0

+你如何定義@user_entity?你上面有一個錯字「eser_entity」,我想這只是在這裏,而不是在你的實際代碼中? – Nycen

+0

錯誤類型:'@ eser_entity'而不是'@ user_entity' – zishe

回答

0

看起來你拼錯<%= @eser_entity.user.name %>

它s HOULD是<%= @user_entity.user.name %>

編輯:

在/models/user_entity.rb你的模型類的名稱使用class User_entity。類名稱預計爲CamelCased:

class UserEntity < ActiveRecord::Base 
    ... 
end 
+0

不,我只是這樣做的問題。 – DanielsV

+0

另外,它只是一個示例。實際上我使用一項工作,所以它不會是解決方案。這裏是教程我被困在http://www.gitmatt.com/posts/5問題是我不能用'attr_accessible'與rails 4.那些強烈的參數正在使這個錯誤。至少我是這麼認爲的。 – DanielsV