harashin
(harashin)
1
Hi,all. I'm new bee to Rails and I have trouble about fields_for
method..
It isn't show up between the <%= f.fields ~ <% end %>
Please teach me some advice.
Thanks!
#new/_form.html.erb
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<!-- Below the code doesn't show up.(<%= f.fields ... <% end %>) -->
<%= f.fields_for :entry do |entry_form| %>
Title:<br/>
<%= entry_form.text_field :title %>
<% end %>
<br/>
<%= f.submit "Create" %>
<% end %>
# user.rb
class Entry < ActiveRecord::Base
belongs_to :user
end
# entry.rb
class User < ActiveRecord::Base
has_many :entries
accepts_nested_attributes_for :entries
end
You can't refer entries as entry in your form. I think you want a
has_one relationship between user and entry.
Mauro
(Mauro)
3
<%= f.fields_for :entries do |entry_form| %>
Mauro
(Mauro)
4
if user has_many entries then in the form you can do fields_for :entries
harashin
(harashin)
5
Thanks Maruo,Sammer! I edit the entry to entries. And I add new Action to
@post.tags build
then it worked fine!
But I don’t know @post.tags.build mean. Please teach me about this mean?
#post_controller.rb
def new
@post = Post.new
@post.tags.build
tags is table name.
table name : tags
table columns *tag_name
tnanks!