hola amigos espero me puedan ayudar , me encuentro trabajando con asociaciones en ruby on rails y tengo un problema con un select_tag , a continuación explico mejor
para entender mejor las asociaciones estoy siguiendo este tutorial http://xyzpub.com/en/ruby-on-rails/3..._has_many.html
hice lo siguiente: cree el proyecto : rails new biblioteca
rails generate scaffold book title
rails generate scaffold author book_id:integer first_name last_name
rake db:mígrate
los modelos me quedaron:
app/models/book.rb:
class Author < ActiveRecord::Base
attr_accessible :book_id, :first_name, :last_name
belongs_to:book
end
app/models/author.rb
class Book < ActiveRecord::Base
attr_accessible :title
has_many :authors
end
en el controlador adicione @books = Book.all
app/controllers/authors_controller.rb
def new
@author = Author.new
@books = Book.all
respond_to do |format|
format.html # new.html.erb
format.json { render json: @author }
end
end
y en la vista app/views/authors_form.html.erb adicione el select_tag pero no esta enviando el value a la base de datos
<%= select_tag :book_id, options_from_collection_for_select(@books, 'id', "title"), {:prompt => 'Selecciona el libro'} %>
otro problema que tengo es cuando quiero editar un registro me aparece el siguiente error undefined method `map' for nil:NilClass