ruby-on-rails - 我可以将部分块传递到我在 Rails 3 中渲染的部分吗?

标签 ruby-on-rails ruby ruby-on-rails-3

我有一个模式,我已将其提取到“共享”文件夹中的部分内容中,并将使用 view.js.erb 文件通过 javascript 调用进行渲染。我想渲染这个模态部分,并且能够在这个模态部分内渲染另一个部分块,但这需要是动态的。当我在模态部分上调用 render 时,我应该能够传入部分。我尝试过传递带有部分位置的本地变量,这会起作用,但它并不能真正解决我也有想要传递给嵌套部分位置的本地变量的情况。

下面是我的代码:

来 self 的 new.js.erb View 文件的调用(当前为本地文件)。

$('body').append('<%= j(render '/shared/modal', :modal_title => "Create a new Question",      :partial => "render 'questions/form', :btn_message => 'Create'") %>');

_modal.html.erb

<div class="modal hide" id="modal">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">×</button>
    <h3><%= modal_title %></h3>
  </div>
  <div class="modal-body">
  </div>
  <%= render partial %>
<!--   <div class="modal-footer">
    <a href="#" class="btn" data-dismiss="modal">Close</a>
    <a href="#" class="btn btn-primary">Save changes</a>
  </div> -->
</div>

最佳答案

我不确定这是否可以在您的用例中使用,但它可能会提供一些灵感:

这是父 HAML 代码段

- render_component :some_params do
  %h2 Titel
  -# whatever you need

在助手中,您可以将 block 传递给部分

  # in helper
  def render_component(some_param, &block)
    # do other things
    concat(render :partial => "shared/component", 
                  :locals => {:some_param => some_param,
                              :block => block})
  end

这是内部部分

.someCopmonent
  .title
    = some_param
  .renderPassedBlockhere
    - concat(capture(&block))

关于ruby-on-rails - 我可以将部分块传递到我在 Rails 3 中渲染的部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11811277/

相关文章:

ruby-on-rails - Rails - strip_tags - 没有捕获 DOCTYPE?

ruby-on-rails - capybara poltergeist - 覆盖用户代理

Ruby 的 body_permitted?给出 "NoMethodError"的方法

Ruby:按年和月对日期范围进行分组

ruby-on-rails-3 - 如何验证回形针的pdf,word,excel和纯文本的文件内容类型?

ruby-on-rails - 使用 Active Record 查询 json 数组 (Rails 4/postgresql9.4)

ruby-on-rails - 如何使用 RSpec 中的allow方法来模拟模块内 Controller 内的函数(模块> Controller >函数)

ruby-on-rails - 与 Capybara (Rails) 的 TDD; page.should 和 expect(page).to 之间的区别?

ruby-on-rails - 验证失败后保留嵌套表单字段值

ruby-on-rails - 在 Rails 中出现两次 Flash 消息