Новое в RoR. Я делаю простой блог для публикации музыкальных записей. У меня есть две модели Tune и Artist, где принадлежит персонажу художнику. Я использую simple_form для рендеринга моей формы. Проблема, с которой я сталкиваюсь, заключается в том, что simple_form подтягивает правильные ассоциации, но когда я нажимаю кнопку «Отправить», она не сохраняет ассоциацию правильно и проверка не проходит. Код ниже:Rails Simple_Form Association Не работает
Классы
class Tune < ActiveRecord::Base
belongs_to :artist
validates :artist, presence: true
end
class Artist < ActiveRecord::Base
has_many :tunes
end
Схема базы данных
ActiveRecord::Schema.define(version: 20131027190309) do
create_table "artists", force: true do |t|
t.string "name"
t.string "real_name"
t.string "gender"
t.string "city"
t.string "country"
t.string "artist_soundcloud_link"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "tunes", force: true do |t|
t.string "soundcloud_link"
t.string "download_link"
t.string "download_label"
t.string "name"
t.string "style"
t.boolean "mix"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "artist_id"
end
add_index "tunes", ["artist_id"], name: "index_tunes_on_artist_id"
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 %>
все еще работает в том же номере. Я думаю, вы правы, что это связано с вложенными атрибутами, но в этом случае художник является родительским классом, а настройка - это дочерний класс (имеет столбец artist_id). Когда я читаю документацию, accepts_nested_attributes_for обычно назначается родительскому классу, а не дочернему классу. – Matt
вправо, я обновил. – amjad
Почему вы делаете проверки: художник, присутствие: правда?. Художник должен быть подтвержден в модели исполнителя. Удалите его и попробуйте. Можете ли вы пропустить свой вывод консоли для ошибки? – amjad