Rails视图调用另一个模型并传递参数

时间:2015-05-06 14:35:21

标签: ruby-on-rails

我有一个脚手架Currency和一个模型Neural Network分别由:has_one:belongs_to连接。我想在Currency show视图中创建一个表单,该表单将用户的1到30之间的整数作为参数。当用户提交表单时,我希望它从Neural Network模型调用方法(对应于当前货币的实例)并将整数作为参数传递。

如何在视图中对此进行编码?

1 个答案:

答案 0 :(得分:0)

您应该使用delegate来允许一个模型调用其他模型的方法

class Greeter < ActiveRecord::Base
 def hello
  'hello'
 end

 def goodbye
   'goodbye'
 end
end

class Foo < ActiveRecord::Base
  belongs_to :greeter
  delegate :hello, to: :greeter
end

Foo.new.hello   # => "hello"
Foo.new.goodbye # => NoMethodError: undefined method `goodbye' for    #<Foo:0x1af30c>

“我如何编写视图代码”究竟是什么意思?

如果您想使用单一表单中的数据保存两个模型,则应使用accepts_nested_attributes_for