我有Foo和Bar模型
belongs_to
Bar has_one
Foo 我希望在载波上传器上获得bar_id
,但它的值总是为零。我在初始化时进行了调试
class FooUploader < CarrierWave::Uploader::Base
def initialize(*)
super
binding.pry # debug here
end
end
调试时撬屏:
[1] pry(#<FooUploader>)> model
=> #<Foo _id: 585347a5fe37a81f4773b3ac, created_at: nil, updated_at: nil, picture_filename: nil, bar_id: nil, name: "test", slug: "test", description: "test">
我确定bar_id
值存在,我尝试了两种方式:
放入控制器
def create
bar = Bar.first
@foo = Foo.new(foo_params.merge(bar: bar))
end
或表格
<%= f.hidden_field :bar_id, value: Bar.first %>
答案 0 :(得分:0)
您可以使用model
属性访问上传者所属模型中的每个属性。
参考文献:
所以在你的情况下
class FooUploader < CarrierWave::Uploader::Base
def initialize(*)
super
puts model.bar_id # Or model.bar for the model
end
end