0

早上好,

我有两个脚手架人和城市。

rails g scaffold person :name, city_id
rails g scaffold city :cityname

和一个公式视图/人/

  <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 中,然后在选择创建按钮后所有应该保存在数据库中。

是不是太难了?你会给谁做这个?

4

1 回答 1

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
于 2013-02-12T03:16:48.877 回答