【问题标题】:Render a partial in a controller在控制器中渲染部分
【发布时间】:2014-03-30 00:12:08
【问题描述】:

我想用控制器中的局部变量渲染一个局部变量。我在任何地方都找不到此语法(Rails 文档中的局部/视图或谷歌搜索都没有)。

我可以让这个动作的视图只包含一个部分,但这听起来像是我想避免的额外的复杂层。使用 (controller -> partial) 而不是 (controller -> action's view -> partial) 似乎更干净。也许我的直觉是错误的?

http://guides.rubyonrails.org/layouts_and_rendering.html#using-render

def show
  render 'some_partial', locals: { test => 'hello' }
end

给出错误:

wrong number of arguments (0 for 2..3)

【问题讨论】:

  • 你能发布错误堆栈跟踪吗?

标签: ruby-on-rails ruby-on-rails-4 partials


【解决方案1】:

部分应该从模板或布局呈现,它们是部分视图而不是完整视图,更新 show.html.erb 以呈现任何需要显示的部分

如果你真的想渲染一个局部然后尝试

render :partial => 'some_partial', :locals => { :test => "hello" }

或者对于较新的 Rails 4 语法

render partial: 'some_partial', locals: { test: "Hello" }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2014-11-02
    • 2020-04-11
    • 2015-08-01
    • 2013-08-18
    相关资源
    最近更新 更多