【问题标题】:simple form shows ActiveRecord Relation when using using a non all query使用非全部查询时的简单形式显示 ActiveRecord 关系
【发布时间】:2013-04-11 03:05:42
【问题描述】:

问题:

我希望下拉列表列出用户的姓氏。怎么能做到这一点?

app/controllers/courses_controller

  def edit
    @course = Course.find(params[:id])
    @teachers = User.where('teacher is true').order(:last_name).all
  end

查看

= simple_form_for @course do |f|
  - if @course.errors.any?
    #error_explanation
      %h2= "#{pluralize(@course.errors.count, "error")} prohibited this course from being saved:"
      %ul
        - @course.errors.full_messages.each do |msg|
          %li= msg

  .field
    = f.input :name
  .field
    = f.input :password
  .field
    = f.input :description
  - if @current_user
    - if @current_user.admin?
      = f.input :user, collection: @teachers
  .actions
    = f.submit 'Save', class: 'btn btn-primary'

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-3.2 simple-form


    【解决方案1】:

    来自docs

    集合输入接受集合之外的另外两个选项:

    • label_method => 应用于集合以检索标签的标签方法(使用此方法代替 collection_select 中的 text_method 选项)

    • value_method => 应用于集合以检索值的值方法

    = f.input :user, collection: @teachers, label_method: :last_name
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多