【问题标题】:Render Partial UI Elements渲染部分 UI 元素
【发布时间】:2011-09-08 06:10:44
【问题描述】:

在 Rails 中,我经常需要声明一个在许多模型中使用的部分。例如,有一个部分我想要一个包裹在按钮周围的表单,这样我就可以传入一个控制器、一个动作和一个对象,然后将该对象发送到该控制器的动作。现在这不是我的任何模型所特有的。在模型的文件夹中声明这个部分的文件(_processor_button.html.erb)似乎不合适。

您建议放置此文件的最佳位置是什么,以及如何从那里调用它,您是否建议以完全不同的方式处理上述示例?

【问题讨论】:

    标签: ruby-on-rails ruby renderpartial


    【解决方案1】:

    我将常用的部分存储在views/shared/ 中并这样调用它们:

    render :partial => "/shared/partial_name"
    

    【讨论】:

    • app/views/shared 和 app/views/common 是我见过的最常见的。
    【解决方案2】:

    我总是将这些部分放在: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} %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      相关资源
      最近更新 更多