Я хочу использовать act_as_commentable для двух моделей (блог и пост). Я сгенерировал модель комментария и добавил все мои поля.
Я создал comments_controller, и в действии создания мне нужно найти блоги и сообщения, поэтому, чтобы это работало, я делаю что-то вроде этого: -
def create
if controller_name == "blogs"
@blog = Blog.find(params[:comment][:blog_id])
@blog_comment = @blog.comments.new(:comment => params[:comment][:comment], :user_id => current_user.id)
if @blog_comment.save
flash[:success] = "Thanks for commenting"
redirect_to :back or root_path
else
flash[:error] = "Comment can't be blank!"
redirect_to :back or root_path
end
end
if controller_name == "topics"
@post = Post.find(params[:comment][:post_id])
@post_comment = @post.comments.new(:comment => params[:comment][:comment], :user_id => current_user.id)
if @post_comment.save
flash[:success] = "Thanks for commenting"
redirect_to :back or root_path
else
flash[:error] = "Comment can't be blank!"
redirect_to :back or root_path
end
end
Я знаю, что это довольно уродливо, но я не знаю, как с этим справиться, кто-нибудь может мне помочь?