【问题标题】:Ruby on Rails: Is it possible to display two variables against with collection_check_boxes?Ruby on Rails:是否可以使用 collection_check_boxes 显示两个变量?
【发布时间】:2017-02-01 19:09:45
【问题描述】:

在我的 RoR 应用程序中,我显示了一个复选框,供用户选择他们的联系人。这是通过以下代码行完成的:

<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :firstname, { prompt: "firstname" } %>

这里只显示联系人的名字,是否可以同时显示名字和姓氏?

我尝试了以下方法,但没有奏效。

<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, { :firstname & " " & :surname }, { prompt: "firstname" } %>
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, { :firstname :surname }, { prompt: "firstname" } %>
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :firstname :surname, { prompt: "firstname" } %>

这可能吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 checkbox


    【解决方案1】:
    <%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]),:id, :full_name ,{ prompt: "firstname" } %>
    

    在model.rb中,添加

      def full_name
        "#{firstname} #{surname}"
      end
    

    希望这会奏效

    【讨论】:

      【解决方案2】:

      您可以在user模型中添加实例方法:

      class User < ActiveRecord::Base
        def fullname
          firstname + surname
        end
      end
      

      并在这里使用:

      <%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :fullname, { prompt: "firstname" } %>
      

      【讨论】:

        【解决方案3】:

        您可以在Contact 模型中拥有这样的方法:

        def full_name
            firstname + " " + surname
        end
        

        【讨论】:

          猜你喜欢
          • 2017-07-11
          • 1970-01-01
          • 1970-01-01
          • 2014-06-18
          • 2015-10-04
          • 2012-03-06
          • 2012-01-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多