ruby-on-rails - Rails 从 Controller 渲染部分

标签 ruby-on-rails controller partial

我正在尝试从 Controller 将不同的部分渲染到我的索引 View 中,具体取决于我收到的参数。
我的 Controller 中有一个简单的unless-else条件来检查参数

def index
 unless params[:check].nil?
  render :partial => /layout/check
 else
  render :partial => /layout/not_check
 end
end

我将文件 _check.html.erb 和 not_check.html.erb 放入文件夹 layout/

现在,如何在索引 View 中显示该部分?
目前,我只能将部分单独可视化为单个 View ,而不是在请求的 View 中。

最佳答案

更好的方法是从 index.html.erb 调用部分

<% unless params[:check].nil? %>
  <%= render :partial => '/layout/check' %>
<% else %>
  <%= render :partial => '/layout/not_check' %>
<% end %>

所以你的 def 索引看起来像这样
def index
  respond_to do |format|
    format.html
  end
end

我不明白您要做什么,但是与 Controller / Action 相关的部分不应在布局中,除非它们提供某种布局。

关于ruby-on-rails - Rails 从 Controller 渲染部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19360261/

相关文章:

ruby-on-rails - Rails 在单个表上连接多个模型

html - Rails 允许用户设置 css 设置

model-view-controller - 您应该在MVC中为 Controller 命名什么?什么时候应该创建一个新的?

ruby-on-rails - 在 Rails 中,当资源创建操作失败并调用渲染 :new, 时,为什么 URL 必须更改为资源的索引 url?

image - 如何确定图像是否部分损坏? C#

mysql - Ruby on Rails - 基本表单提交

ruby-on-rails - 组织 Rails Controller 索引的最佳方式

HTML5 视频 - 只播放视频的一部分

javascript - Couchbase 部分更新未按预期工作

ruby-on-rails - will_paginate 在 Twitter Bootstrap 选项卡中加载下一页上的默认事件选项卡