Ruby on rails 3 将参数传递到生成器中的Rails 3模板

Ruby on rails 3 将参数传递到生成器中的Rails 3模板,ruby-on-rails-3,templates,code-generation,generator,Ruby On Rails 3,Templates,Code Generation,Generator,在Rails 2生成器中,可以通过以下方式将数据传递到: record.template( "src.html.erb", "dest.html.erb", :assigns => { :id => id, :name => name } 在Rails3中,它看起来像是新方法。不幸的是,它看起来像第三个参数,config,只接受:verbose选项。试图通过:赋值传递值似乎不起作用 有人知道我如何将动态值传递给Rails 3模板吗?Rails 3模板可以访问生成器

在Rails 2生成器中,可以通过以下方式将数据传递到:

record.template(
  "src.html.erb",
  "dest.html.erb",
  :assigns => { :id => id, :name => name }
在Rails3中,它看起来像是新方法。不幸的是,它看起来像第三个参数,
config
,只接受
:verbose
选项。试图通过
:赋值传递值似乎不起作用


有人知道我如何将动态值传递给Rails 3模板吗?

Rails 3模板可以访问生成器中的任何方法,因此在上述情况下,如果生成器有方法名和方法id,则不必更改模板中的任何内容。查看RailsCast以在Rails 3中创建生成器。

将参数传递到Rails 3中视图的示例

模板:

#
找到我


我有一个
循环,每个
循环都有一个变量,该变量需要传递给模板,以生成具有多个名称的相同模板。为了解决这个问题,我在一个全局范围内定义了迭代值(通过
@
符号,不确定调用了什么),然后在生成器中创建了一个只返回这个值的方法。这个方法可以被模板访问。很好!可以在标准rails脚手架生成命令行中传递操作吗?
# ...
actions.each do |action|
  @action = action
  @path = File.join(base_path, filename_with_extensions(action))
  template filename_with_extensions(:view), @path
end
<h1><%= class_name %>#<%= @action %></h1>
<p>Find me in <%= @path %></p>