ruby-on-rails - rails : How to make small changes in different views

标签 ruby-on-rails ruby ruby-on-rails-4

是否可以在不同的 View 中进行小的更改?

相同的部分在 index.html.erbshow.html.erb 中呈现如下。

index.html.erb

<%= render @schedules %> 

显示.html.erb

<%= render @schedules %> 

我想做的是不在 index.html.erb 中显示某些值。 (并在两个 erb 中显示一些值)

例如,我只想在show.html.erb中显示start_atend_at,并显示title 在两个 erb 中。

_schedule.html.erb

<% schedule.rooms.each_with_index do |a, idx| %>

  <% a.events.each do |e| %>

    <%= l(e.start_at) %>-<%= l(e.end_at) %> # display only show.html.erb
    <%= e.title %>  #display both erb
    ...

  <% end %>

  ...
<% end %>

虽然我想出了创建两个部分的想法,但这与 DRY 政策相矛盾。

如果你能给我任何想法,我将不胜感激。

最佳答案

您可以使用controller.action_name

<% if controller.action_name == 'show' %>
  <%= l(e.start_at) %>-<%= l(e.end_at) %> # display only show.html.erb
<% end %>

params 散列还包含 action_name。

关于ruby-on-rails - rails : How to make small changes in different views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37590305/

相关文章:

ruby-on-rails - 在Rails中,如何显示存储为int8而不是inet的数据库中的IP地址?

ruby - 为什么在 Ruby 3.0 中从标准库中删除了 SortedSet?

ruby - 使用 Nokogiri 如何将 Node 对象内容插入到 XML::Builder 结构中?

python - 如何将独立的 Python 脚本集成到 Rails 应用程序中?

javascript - Rails 4 更新实例变量而无需重新加载页面

ruby-on-rails-4 - ActiveModel::Serializer 定义 attribute 属性?

ruby-on-rails - Rails 加入多态模型

jquery - 如何在 View 文件夹中使用js文件

ruby-on-rails - 处理验证错误消息以查看滑轨4

ruby-on-rails - Ruby 中 'self.method_name' 和 'class << self' 的区别