Ruby on rails 4 Rails简单表单关联不工作
RoR新手。我正在制作一个简单的博客来发布音乐条目。我有两个模型-曲调和艺术家,其中一个曲调属于艺术家。我正在使用simple_form来渲染我的表单。我遇到的问题是,simple_表单正在提取正确的关联,但当我单击submit时,它没有正确保存关联,验证也没有通过。代码如下: 班级Ruby on rails 4 Rails简单表单关联不工作,ruby-on-rails-4,simple-form,Ruby On Rails 4,Simple Form,RoR新手。我正在制作一个简单的博客来发布音乐条目。我有两个模型-曲调和艺术家,其中一个曲调属于艺术家。我正在使用simple_form来渲染我的表单。我遇到的问题是,simple_表单正在提取正确的关联,但当我单击submit时,它没有正确保存关联,验证也没有通过。代码如下: 班级 class Tune < ActiveRecord::Base belongs_to :artist validates :artist, presence: true end class Arti
class Tune < ActiveRecord::Base
belongs_to :artist
validates :artist, presence: true
end
class Artist < ActiveRecord::Base
has_many :tunes
end
我的表格
<%= simple_form_for @tune, :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :name %>
<%= f.input :soundcloud_link %>
<%= f.input :download_label %>
<%= f.input :download_link %>
<%= f.input :mix %>
<%= f.association :artist%>
<%= f.button :submit %>
<% end %>
{:class=>'form horizontal'}do | f |%>
将以下内容添加到您的调谐模型中
accepts_nested_attributes_for :tunes
然后将强参数添加到控制器,例如
params.require(:artist).permit( :id, :name, ... , tune_attributes: [:id, :name, :real_name, ...] )
注意:我假设您使用的rails 4仍然遇到相同的问题。我认为您是对的,它与嵌套属性有关,但在本例中,artist是父类,tune是子类(具有列artist_id)。当我阅读文档时,accepts_nested_attributes_通常分配给父类,而不是子类。执行此操作的原因验证:Artister,presence:true?。艺术家应在艺术家模型中进行验证。删除它并尝试。您是否可以跳过控制台输出以查找错误?
params.require(:artist).permit( :id, :name, ... , tune_attributes: [:id, :name, :real_name, ...] )