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

Ruby on rails Rails视图调用另一个模型并传递参数,ruby-on-rails,Ruby On Rails,我有一个支架Currency和一个模型Neural Network,分别由:has_one和:behing_to连接。我想在Currency的show视图中创建一个表单,该表单将用户提供的1到30之间的整数作为参数。当用户提交表单时,我希望它从神经网络模型调用一个方法(对于对应于当前货币的实例),并将整数作为参数传递 如何在视图中对此进行编码?您应该使用允许一个模型调用其他模型的方法 class Greeter < ActiveRecord::Base def hello 'hell

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

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

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

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>
class迎宾员“你好”
Foo.new.bye#=>NoMethodError:for的未定义方法“再见”#
你所说的“如何对视图进行编码”到底是什么意思


如果您希望使用单个表单中的数据保存两个模型,则应在用户提交表单时使用

货币
控制器将在您配置的任何操作中访问表单中所有允许的参数。因此,如果表单具有action
foo
,则调用控制器中的
foo
方法。从那里,您可以随意使用表单参数,包括使用它们调用其他模型中的方法。