渲染部分UI元素
在rails中,我经常需要声明在许多模型中使用的部分。 例如,有一个部分我想要一个包裹在按钮周围的表单,这样我就可以传入一个控制器,一个动作和一个对象,并将该对象发送到该控制器的动作。 现在这不是我的任何模型所特有的。 在模型的文件夹中声明这个部分文件(_processor_button.html.erb)似乎不合适。
你有什么建议是放置这个文件的最佳位置,以及如何从那里调用它,你建议采用一种完全不同的方式来接近上面提到的例子吗?
我将常用的部分存储在views/shared/
并以这种方式调用它们:
render :partial => "/shared/partial_name"
我总是把这些部分放在:app / views / shared /
假设部分喜欢;
... shared/_my_form.html.erb ... <%= form_for(my_obj) do %> ... ...
然后在您的视图中使用不同的“my_obj”渲染此部分
... posts/form.html.erb ... <%= render :partial => "/shared/my_form", :locals => { :my_obj => @post } %>
或者喜欢:
... users/form.html.erb ... <%= render :partial => "/shared/my_form", :locals => { :my_obj => @user} %>