ruby-on-rails - has_one关联的嵌套属性

标签 ruby-on-rails ruby-on-rails-3

我需要为新操作和编辑操作中的一个关联设置属性,所以我需要这样做:

产品型号

has_one :store
accepts_nested_attributes_for :store

形式
= form_tag @product do |f|
  = f.fields_for :store do |store_fields|
    = render 'store_form', :f => store_fields

在 Controller 中

params.require(:store).permit(:store).permit!



会显示字段,但是当我提交表单时,这没有任何意义,商店关联为空。如何解决问题?

UPD
params.require(:product).permit(store_attributes: [:store_id, :supplier_id, :margin, :discount]).permit!

日志:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"...", "product"=>{"name"=>"qwefqwefasdf", "description"=>"", "permalink"=>"asdf", "store_attributes"=>{"margin"=>"123", "discount"=>"123"}}, "button"=>"", "id"=>"asdf"}

最佳答案

开启,正确的答案是
更改

  = f.fields_for :store do |store_fields|
  = f.fields_for :store, @vendor.store do |store_fields|

关于ruby-on-rails - has_one关联的嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20689478/

相关文章:

php - 旧 PHP 应用程序和新 Ruby on Rails 应用程序的棘手集成

mysql - 需要从SQLite3切换到MySQL,并且想用MySQL进行部署

unit-testing - 给定一个典型的 Rails 3 环境,为什么我无法执行任何测试?

ruby - 添加和删​​除引用的 Rails 迁移

mysql - 如何排序一个表与 Rails 4 中的另一个表有很多关系?

ruby-on-rails - 无法使 compass +守卫+萨斯工作

ruby-on-rails - 无法为 cache_classes = true 的关注 (ActiveSupport::Concern::MultipleIncludedBlocks) 定义多个 'included' block

ruby-on-rails - 如何从 selenium 迁移到 capybara-webkit?

ruby-on-rails - Rails 3 和 RJS

ruby-on-rails - ruby rails web 请求响应生命周期