在Rails中为视图准备变量是否有最佳实践?
基本上我想知道,例如,我应该采用像@campaign
之类的哈希
在视图或控制器中提取所需的值(例如list_id
)?
@campaign = {
"id"=>"8a9asd64b94",
"type"=>"regular",
"create_time"=>"2013-04-17T12:07:58+00:00",
"recipients"=> {
"list_id"=>"aecadsasd0b5",
"segment_text"=>"ljsadlkjasd"
}
}
答案 0 :(得分:2)
您通常会将整个对象向下发送到视图并访问其中的各个属性。例如
# in controller
@post = Post.find(params[:id])
# in view
<h1><%= @post.title %></h1>
<p><%= @post.body %></p>
在您的示例中,您应该将整个@campaign
对象向下发送到视图并访问那里的各个组件。
答案 1 :(得分:0)
理想情况下,您应该在控制器中执行查询并将其传递给视图。因此,在您的情况下,@campaign
应位于控制器中,您可以在视图中使用@campaign["recipients"]["list_id"]
。