Моя проблема заключается в том, как назначить несколько ассоциаций assign_to с вложенными атрибутами?рельсы множественные привязки belogs_to с вложенными атрибутами
Я хочу создать систему проблем. Когда я создаю проблему, я также хочу создать первый комментарий как тело проблемы.
Итак, у меня есть следующие модели:
class Issue < ActiveRecord::Base
has_many :comments, as: :commentable
validates :title, presence: true
accepts_nested_attributes_for :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :commentable, polymorphic: true
validates :content, :user, presence: true
end
и у меня есть IssuesController следующим образом:
class IssuesController < ApplicationController
before_action :authenticate_user! #devise authentication
def new
@issue = Issue.new
@issue.comments.build
end
def create
@issue = Issue.new(issue_params)
@issue.save
end
private
def issue_params
params.require(:issue).permit(:title, comments_attributes: [:content])
end
end
и следующая моя форма (используя тонкий шаблон с simple_form и nested_form драгоценных камней):
= simple_nested_form_for @issue do |f|
= f.input :title
= f.fields_for :comments do |cf|
= cf.input :content
= f.button :submit
в этом случае, я не знаю, как назначить current_user
для комментарий, созданный вложенными атрибутами.
Любые предложения или другие подходы? Благодаря!
скрытое поле под названием: пользователь в комментариях? –
Я пробовал этот подход, и он работает. Но я думаю, что это не безопасно. –
Что вы подразумеваете под защитой? Страх перед пользователем, играющим с полем? Затем сделайте это в контроллере. При создании комментария передайте текущего пользователя в качестве атрибута и проверьте его снова при создании. –