我只是对db结构进行了一些更改,并且必须使用嵌套模型
发布模型
has_many :pictures
accepts_nested_attributes_for :pictures, reject_if: :all_blank, allow_destroy: true
图片模型
belongs_to :user
视图中的(渲染1输入字段)
= f.simple_fields_for :pictures, @post.pictures.build do |e|
= e.input :picture, input_html: { class: 'form-control' }, label: false
问题是:我怎样才能获得输入值:后期模型中的图片。我尝试了很少的东西,但没有一个能奏效。
提前感谢
答案 0 :(得分:1)
使用rails 5首先需要做的是在你的控制器中使用带有嵌套属性的强params
def post_params
params.require(:post).permit(:firstfield, :secondfield, {:pictures_attributes => [:picture, :firstattribute, :secondattribute]})
end
Rails strong params - using fields from has_many object我赞成 David
如果您想访问该值,您可以在
中找到它post_params[:pictures_attributes][i][:picture]
因为在表单中使用do |e|
时会创建一个可能有很多行的嵌套属性。我使用i
选择一行。
这是我对这个问题的理解。