在Rails 2生成器中,可以通过以下方式将数据传递到template:
record.template(
"src.html.erb",
"dest.html.erb",
:assigns => { :id => id, :name => name }
在Rails 3中,看起来template是新方法。不幸的是,看起来第三个参数config
只接受:verbose
选项。尝试通过:assigns
传递值似乎不起作用。
有谁知道如何将动态值传递给我的Rails 3模板?
答案 0 :(得分:4)
将参数传递给Rails 3中的视图的示例。
# ...
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>
答案 1 :(得分:0)
Rails 3模板可以访问生成器中的任何方法,因此在上面的情况下,如果您的生成器有方法name
和方法id
,则不必更改任何内容你的模板。查看RailsCast,以便在http://railscasts.com/episodes/218-making-generators-in-rails-3的Rails 3中创建生成器。