7

こんにちは、私はこのエラーに直面しています。レールにまったく慣れていないので、何が原因なのかわかりません

私のnewBook.html.erb

<html>
    <head>
        <title> new Book </title>
    </head>
    <body>
        <h1><%= @hello_message %></h1>
        <h1>Add new book</h1>
        <%= form_tag :action => 'create' %>
        <p>
            <label for="book_title">Title</label>:
            <%= text_field 'book', 'title' %>
        </p>
        <p>
            <label for="book_price">Price</label>:
            <%= text_field 'book', 'price' %>
        </p>
        <p>
            <label for="book_subject">Subject</label>:
            <%= collection_select(:book,:subject_id,@subjects,:id,:name) %>
        </p>
        <p>
            <label for="book_description">Description</label>
            <br/>
            <%= text_area 'book', 'description' %>
        </p>
        <%= submit_tag "Create" %>
        <%= end_form_tag %>
        <%= link_to 'Back', {:action => 'list'} %>
    </body>
</html>

私の本のモデル:book.rb

class Book < ActiveRecord::Base
  attr_accessible :title, :price,:description , :created_at 
  belongs_to :subject
  validates_presence_of :title
  validates_numericality_of :price, :message=>"Error Message"
end

私の対象モデル:subject.rb

class Subject < ActiveRecord::Base
  attr_accessible :name
  has_many :book

end

スタック トレースは次のとおりです。

actionpack (3.2.13) lib/action_view/helpers/form_options_helper.rb:364:in `options_from_collection_for_select'
actionpack (3.2.13) lib/action_view/helpers/form_options_helper.rb:600:in `to_collection_select_tag'
actionpack (3.2.13) lib/action_view/helpers/form_options_helper.rb:191:in `collection_select'
app/views/home/newBook.html.erb:19:in `_app_views_home_new_ook_html_erb__299261930_24178164'
actionpack (3.2.13) lib/action_view/template.rb:145:in `block in render'
activesupport (3.2.13) lib/active_support/notifications.rb:125:in `instrument'
actionpack (3.2.13) lib/action_view/template.rb:143:in `render'
# -- snipped --
4

4 に答える 4

2
<%= collection_select(:book,:subject_id,Subject.all,:id,:name) %>
于 2013-06-06T11:07:22.053 に答える
0

この投稿を見ている人にとって、答えがうまくいきません。

テーブル「部門」のテーブル「場所」をリンクしようとしていました。

元の回答からインスピレーションを得て、次のコードが機能しました。

# In app/views/departments/_form.html.erb:
...
    <p>
        <%= f.label :location %><br>
        <%= f.collection_select(:location,@locations,:id,:address) %>
    </p>    
...

# In app/controllers/departments_controller.rb;

  def new
    @locations = Location.all
  ....
  end
于 2019-04-02T10:39:36.660 に答える