早上好,
我有两个脚手架人和城市。
rails g scaffold person :name, city_id
rails g scaffold city :cityname
和一个公式视图/ people /
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :city_id %><br />
<%= f.text_field :city_id %>
</div>
<div class="field">
<%= f.label :cityname%><br />
<%= f.text_field :cityname%>
</div>
它没有去,我必须创建一个城市的对象并将id放在city_id hidden_field中,然后在选择了创建按钮之后,所有应该保存在数据库中。
不是太难了?你会成为谁?
答案 0 :(得分:2)
无需通过city_id
。
<%= form_tag url_for(:controller => :your_controller, :action => :some_action, :method => :get do %>
<div class="field">
<%= label_tag :name %><br />
<%= text_field_tag :name %>
</div>
<div class="field">
<%= label_tag :cityname%><br />
<%= text_field_tag :cityname%>
</div>
<% end %>
在控制器中:
def some_action
city = City.find_or_create_by_cityname(params[:cityname])
person = Person.new(params[:name])
person.city_id = city.id
person.save!
end