ピンで 1 つのカテゴリを選択するのに問題があります。以下は私が試みたものです。
$ rails g model category name:string
$ rails g migration add_category_id_to_event
in /db/migrate/XXXX_add_category_id_to_pin
修正しました
class AddCategoryIdToPin < ActiveRecord::Migration
def self.up
add_column :pins, :category_id, :integer
end
def self.down
remove_column :pin, :category_id
end
end
Rake db:migrate
app/models/pin.rb 内
class Event < ActiveRecord::Base
belongs_to :category
end
app/models/category.rb 内
class Category < ActiveRecord::Base
has_many :pins
end
レールコンソールで
Category.create( :name => "Course" )
Category.create( :name => "Meeting" )
Category.create( :name => "Conference" )
app/views/pins/_form.html.erb 内
<%= f.select :category_id, category_options %>
pp/views/pins/show.html.erb で
<p>Category: <%= @pin.category.name %><p>
app/helpers/pins_helper.rb で
module PinsHelper
def category_options
Category.all.map{ |c| [c.name, c.id] }
end
end
しかし、今ではアプリに何も表示されず、すべてが正常に機能する前に以下が表示されます。だから、どこが間違っていたのか理解できませんか?誰かが助けることができますか?
NameError in Pins#index
17 行目が発生した /Users/mattbook/code/dine/app/views/layouts/_header.html.erb を表示:
未定義のローカル変数またはメソッド `new_pin_path' for #<#:0x007f92565413d0> 抽出されたソース (17 行目付近):
14:
15: 16: 17: <% if user_signed_in? %>