【问题标题】:How to access unrelated attributes in ruby views如何在 ruby​​ 视图中访问不相关的属性
【发布时间】:2015-07-15 17:25:19
【问题描述】:

我是 ruby​​ on rails 的新手。我有一个板模型及其视图。我也有一个类别模型及其视图。类别和板之间的关系是一对多的,即一个类别有多个板。我的要求是访问放置在板表中的类别 ID,并显示该特定类别 ID 的相应类别标题。在标签标签<label for="home"><%= board.category_id %></label>,我的标签标签中的类别ID 为空,或者可能为空。在 Rails 控制台上,它可以正确地给我数据。
这是查看代码。

<div class="myNavigation">
  <nav class="vertical">
    <ul>
      <% boards.each(function (board) { %>  
        <li>
          <label for="home"><%= board.category_id %></label>
          <input type="radio" checked="true" name="verticalMenu" id="home" />
          <div>
            
          </div>
        </li>
      <% }); %>  
    </ul>
  </nav>
  </div>

板模型类:

class Board < ActiveRecord::Base
  attr_accessible :description, :name, :open, :members, :category_id
  #attr_accessor :category_id
  has_many :lists, dependent: :destroy
  has_many :board_activities , dependent: :destroy
  has_many :boards_members, class_name: "BoardMember" , dependent: :destroy
  has_many :members, through: :boards_members , dependent: :destroy
  belongs_to :category, class_name: "category"

end

类别模型类

class Category < ActiveRecord::Base
    attr_accessible :title, :description
    #attr_accessor :category_id
    has_many :boards, dependent: :destroy
end

还请建议创建 ruby​​ 部分布局的简单方法,即 application.erb 可以包含在某些页面中,而在某些页面中不应该包含。它还应该获得上面提到的包含它的类别 ID。

作为旁注,我在骨干轨道上工作,上面的视图实际上是一个板模板。我正在使用 ruby​​ 2.2.1 版本和 4.1.2 rails 版本。也可以提供进一步的细节。提前致谢。

【问题讨论】:

    标签: ruby-on-rails ruby backbone.js


    【解决方案1】:

    在视图代码中,您的电路板循环应如下所示:

    <% boards.each do |board| %>  
      <li>
        <label for="home"><%= board.category_id %></label>
        <input type="radio" checked="true" name="verticalMenu" id="home" />
        <div>
    
        </div>
      </li>
    <% end %>  
    

    看起来你的代码只是在循环中声明匿名函数,我不确定 - 但我认为这就是你想要的 :)

    【讨论】:

    • 对不起,我的前端崩溃了。此循环没有显示任何内容。我已经提到我在主干模板中使用它。
    • 哦,我的错,我没有看到你的注释,我以为这是一个普通的 Rails 视图文件 - 我对骨干不太熟悉,无法帮助你
    【解决方案2】:

    您应该使用&lt;%= board.category.title %&gt; 而不是&lt;%= board.category_id %&gt;

    如果你真的可以有一个空的 category_id,你可以做到:

    <%= board.category.title if board.category_id %>
    

    【讨论】:

    • 对不起,这也不起作用,先生需要更多解释吗?
    • 实际上我的问题与这个问题有关:stackoverflow.com/questions/17386090/…我不知道该怎么做!你能帮帮我吗!
    • 是的,在将模型传递到主干视图时,这可能是一个问题。需要查看更多模板、路由器等进行调试。 (您在哪里调用 fetch、render 等)您是否遇到任何错误?
    • 先生,我发布了一个单独的帖子,您也可以在那里回答,我肯定会接受您的两个答案:) stackoverflow.com/questions/31458539/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多