我有一个视图,可以显示多个图像以及这些图像的相关标签.我决定对每个图像及其标记使用局部视图,但在将图像对象传递到局部视图时遇到了问题.以下是主视图的相关代码:

<table>
  <% @images.each do |i| %>
    <tr>
      <%= render :partial => :image_tag, :image => i %>
    </tr>
  <% end %>
</table>

以下是部分视图的相关代码(部分视图名为_image_tag.html.erb):

<table>
  <%= image.id %>
  <%= image_tag image.src %>
</table>

我读了this个线程,我可以通过图像对象的方式,我目前正在做它.我try 通过render方法上的选项散列来传递id,但这也不起作用.我得到的错误是:

undefined method `model_name' for Symbol:Class

以我在主视图中调用render:partial的行为中心.

推荐答案

<%= render partial: "image_tag", locals: {image: i} %>

就是如何将变量传递给partials.

Ruby-on-rails相关问答推荐

如何在_serialize之前执行代码?""或者如何在序列化属性之前对属性进行清理?

Rails引擎importmap Uncaught ReferenceError:未定义tinymce

关于关联 has_many 的多级/三重嵌套形式

我的 Ruby on Rails Web API 的 Docker 映像未在服务器上构建,因为它未与 ruby​​gems.org 连接

如何配置我的 Rails 应用程序(使用 Puma)以通过 HTTPS 提供服务?

微软安全链接在页面加载前解锁用户

如何不需要rails/all?

Rails - 如何从 http://example.com 重定向到 https://www.example.com

rails s和bundle exec rails s有什么区别?

如何配置设计以使用自定义邮箱布局?

用 url_for 查询参数?

在 Ruby on Rails 中获取空临时目录的最佳方法是什么?

Rails:参数太少

如何从 ActiveRecord 中的每个组中获取最新记录?

如何将变量 link_to 定义为外部 URL

验证一个对象是否有一个或多个关联对象

如何在同一个 Rails 控制器操作中处理多个 HTTP 方法

长期运行项目中的 Rebase Rails 迁移

在 Rails 中,在特定时区创建特定时间(不是现在)的最佳方式是什么?

警告:运行 ruby​​ 或 gem 命令时不安全的世界可写目录