对rails很新,并对如何处理这个问题感到困惑。我正在使用rails 4.我非常困在这里,并试图解决这个问题。
我有一个列表页面,我也想添加标签。在我看来( listings / new.html.erb ),我有以下内容:
<h1> POST A NEW LISTING </h>
<% if current_user.nil? %>
<h2>You must be logged in to view this page </h2>
<% else %>
<%= form_for [@user, @listing] do |f| %>
<%= f.label :title, 'Title' %> <br />
<%= f.text_field :title %>
<%= f.label :general_info, 'General Information' %> <br />
<%= f.text_area :general_info %>
<%= f.label :included, 'Included' %> <br />
<%= f.text_field :included %>
<%= f.label :length, 'Length' %> <br />
<%= f.text_field :length %>
<%= f.label :price, 'Price' %> <br />
<%= f.text_field :price %>
<% fields_for @tagging do |u| %>
<%= u.label :tag, 'Tag' %> <br />
<%= u.text_field :tag %>
<% end %>
<%= f.submit "submit" %>
<% end %>
<% end %>
表单可以正确放入列表,但标记表单选项甚至看起来不允许内容。
我的listings_conroller #new看起来像这样:
def new
if (!current_user.nil?)
@user = User.find(current_user.id)
@listing = @user.listings.build
@tagging = @listing.taggings.build
end
end
我希望能够使用此表单创建一个新列表,该表单还会填充标记的数据库,我不确定如何执行此操作。我希望这是足够的信息,但如果需要,我在这里有所有代码:https://bitbucket.org/r-s/ath/src。非常坚持这一点任何帮助将不胜感激。
答案 0 :(得分:1)
将其更改为:
<%= f.fields_for @tagging do |u| %>
请注意=
。
答案 1 :(得分:1)
您忘记使用构建器:
<%= f.fields_for @tagging do |u| %>