【发布时间】:2017-07-05 00:17:45
【问题描述】:
在用户新视图上创建关联并创建用户后
Location 没有与用户关联,并在 Console 中显示
irb(main):001:0> Location.last ArgumentError: No association found for 名称“用户”。已经定义了吗?
我是 Rails 4 的新手,我没有使用 attr_accessible,而是将 location_attributes 放在强参数上 看看是否解决,但没有解决。
有人有提示吗?
def user_params
params.require(:user).permit(:name, :email,:location_id, :password, :password_confirmation, :slug,
location_attributes:[:id, :location_id])
end
用户模型
belongs_to :location
位置模型
has_many :users
accepts_nested_attributes_for :user, allow_destroy: true
用户新视图
<%= simple_form_for @user do |f| %>
<%= f.input :name, label: 'Your Name please', error: 'Name is mandatory' %>
<%= f.input :email, placeholder: 'user@domain.com' %>
<%= f.input :password, hint: 'No special characters.' %>
<%= f.input :password_confirmation, inline_label: 'Yes, remember me' %>
<%= f.simple_fields_for :location do |l| %>
<%= l.input :country, label: "Country", collection: CountryStateSelect.countries_collection %>
<%= l.input :state, CountryStateSelect.state_options(label: "State / Province", form: f, field_names: { :country => :country, :state => :state } ) %>
<% end %>
<%= f.button :submit %>
<% end
%>
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4