rails,创建一个对象

时间:2013-02-12 03:10:39

标签: ruby-on-rails object

早上好,

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

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

不是太难了?你会成为谁?

1 个答案:

答案 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