我有一个有嵌套链接的表单.编辑时链接字段为空的问题.
这是我的表格:
这是我的表格:
<h1>Editing kategori</h1> <%= simple_form_for(@konkurrancer,:url => {:action => 'update',:id => @konkurrancer.id }) do |f| %> <%= f.simple_fields_for :link_attributes do |d| %> <%= d.input :link,:label => 'Tracking url',:style => 'width:500;' %> <% end %> <%= f.button :submit,:value => 'Edit konkurrence' %> <% end %> <%= link_to 'Show',admin_konkurrancer_path %> | <%= link_to 'Back',admin_konkurrancer_path %>
我的konkurrencer模型:
has_one :link
我的链接模型:
class Link < ActiveRecord::Base belongs_to :konkurrancer accepts_nested_attributes_for :konkurrancer end
我的konkurrancer编辑动作:
def edit @konkurrancer = Konkurrancer.find(params[:id]) @konkurrancer.link_attributes.build end
解决方法
1)从您的链接模型中删除
accepts_nested_attributes_for :konkurrancer
并添加到您的Konkurrancer模型
accepts_nested_attributes_for :link
2)在控制器编辑操作中删除
@konkurrancer.link_attributes.build
并在控制器新动作添加
@konkurrances.build_link
3)在视图文件中替换
<%= f.simple_fields_for :link_attributes do |d| %>
同
<%= f.simple_fields_for :link do |d| %>