0
У меня есть три модели пользователя, блога и комментария.Облицовочные проблемы с ассоциацией
User.rb
class User < ActiveRecord::Base
attr_accessible blah blah
has_many :blogs
has_many :comments
end
Blog.rb
class Blog < ActiveRecord::Base
attr_accessible :user_id, :title, :content
belongs_to :user
has_many :comments
end
Comment.rb
class Comment < ActiveRecord::Base
attr_accessible :user_id, :blog_id, :comment
belongs_to :blog
belongs_to :user
end
В создании действия Комментарии контроллера
def create
@blog = Blog.where('id=?', params[:blog_id])
@comment = @blog.comments.new(params[:comment])
@comment.save
end
Здесь, как я могу передать идентификатор current_user в поле user_id таблицы комментариев, я могу создать скрытое поле для этого, но это небезопасно. Пожалуйста помоги! Заранее спасибо.
Здесь мы явно передаем пользовательскую информацию, есть ли другой способ реализации этого? – RSB
Вы не передаете никакую информацию о пользователе. Вы выходите из сеанса пользователя. user_id никогда не появляется в формах или параметрах. Просто получите его непосредственно из сеанса и поместите его непосредственно в объект комментария из сеанса, как указано выше. –
Да, все в порядке, но это может сработать, но вы можете предложить другой способ сделать это, как прямо из формы? :) – RSB