У меня есть вложенный атрибут, и я могу отображать значения, но он не сохраняет в базу данных почему?Вложенные атрибуты не сохраняются в базе данных? Не отображает значения - Ruby on Rails
У меня есть модель review
, и я хочу, чтобы атрибут гнезда comments
обзора миграция файл
class CreateReviews < ActiveRecord::Migration
def change
create_table :reviews do |t|
t.belongs_to :reviewable, polymorphic: true
t.timestamps
end
add_index :reviews, [:reviewable_id, :reviewable_type]
end
end
модель Обзор
class Review < ActiveRecord::Base
attr_accessible :rating, :user_id, :comments_attributes, :service
has_many :comments, as: :commentable
belongs_to :user
belongs_to :reviewable, polymorphic: true
accepts_nested_attributes_for :comments
end
комментариев миграция файл
class CreateComments < ActiveRecord::Migration
def change
create_table :comments do |t|
t.text :content
t.belongs_to :commentable, polymorphic: true
t.integer :user_id
t.timestamps
end
add_index :comments, [:commentable_id, :commentable_type]
end
end
комментарий модель
class Comment < ActiveRecord::Base
attr_accessible :content, :user_id
belongs_to :commentable, polymorphic: true
belongs_to :user
belongs_to :review
end
Это форма
<%= form_for [@reviewable, @review], :html => {:multipart => true} do |f| %>
<%= f.fields_for :comments, @review.comments.build do |field| %>
<%= field.label "Comment" %></div>
<%= field.text_field :content %>
<% end %>
<%= f.submit %>
<% end %>
Он отображает поля, но как же, когда я сохранить, это не спасает?
я попытался показать, как это:
<%= @review.comments %>
Вот мой контроллер обзор
def new
@review = @reviewable.reviews.new
@review.comments.build
end
Спасибо за вашу помощь!
EDIT:
контроллер Обзор: создать метод
def create
@review = @reviewable.reviews.new(params[:review])
@review.user = current_user
if @review.save
redirect_to @reviewable, notice: "review created."
else
render :new
end
end
Пожалуйста, пост 'create' методу в контроллере – muttonlamb
@muttonlamb Здравствуйте! Я редактировал сообщение, чтобы включить метод create. Что-то не так с этим? Благодаря! – hellomello
Я не вижу никаких проблем. можете ли вы поделиться своим кодом, если это возможно, я имею в виду использование любого публичного репо? – Muntasim