【问题标题】:Ruby on rails dropdown boxRuby on rails 下拉框
【发布时间】:2013-04-07 17:50:05
【问题描述】:

我刚刚编写了我的第一个 ruby​​ on rails 应用程序,但我有点卡住了。我有一个包含作者、书籍和类别的图书馆数据库。一本书属于作者和类别。所以现在在创建一本书时,我想从列表中选择作者和类别。我该怎么做。我是红宝石的新手,所以任何帮助将不胜感激。目前这本书只有名称列。

这是书籍类或模型:

class Book < ActiveRecord::Base
  belongs_to :author
  belongs_to :category
  attr_accessible :name
  validates :name, :presence => true
end

【问题讨论】:

    标签: ruby-on-rails html-select


    【解决方案1】:

    在您的图书表单中,使用以下选择字段:

    <%= f.select :author_id, Author.all.collect {|p| [ p.name, p.id ] } %>
    <%= f.select :category_id, Category.all.collect {|p| [ p.name, p.id ] } %>
    

    更多关联详情见http://guides.rubyonrails.org/association_basics.html

    【讨论】:

    • 感谢您给我指路。我如何在控制器中创建新记录,因为我目前有以下代码行,但 author_id 和 category_id 不是正确的。 book = Book.new(params[:book]) respond_to do |format|如果 book.save
    【解决方案2】:

    在你看来可能是这样的:

    <% form_for :book do |f|%>
     <% f.text_field :name %>
     <% f.select :author_id, options_for_select( @authors.all.map{|a| a.name, a.id } %>
     <% f.select :category_id, options_for_select( @categories.all.map{|c| c.name, c.id} ) %>
    <% end %>
    

    类似的东西

    @authors = Author.all
    @categories = Category.all
    

    在你的控制器中

    【讨论】:

      猜你喜欢
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 2013-05-01
      • 2021-07-27
      • 2023-03-10
      相关资源
      最近更新 更多