如何在Rails中预填充文本字段?

时间:2016-07-26 01:07:32

标签: ruby-on-rails-4 view textfield

我正在使用Rails 4.2.3。我的模型中有这个......

class User < ActiveRecord::Base
  belongs_to :address

我在控制器中有这个

  def edit
    @user = current_user
    puts "address; #{@user.address} city: #{@user.address.city}"
    @default_country_selected = Country.find_by_iso('US')
  end

打印出来

address; #<Address:0x007f7f99a8d390> city: calgary

在我的日志中。然后在我对应上述控制器的视图中,我有

<%= form_for(@user) do |f| %>
    …
    <%= f.fields_for :address do |addr| %>
    <%= addr.label :address, "Home Town" %><br/>
    <div class="field"><%= addr.text_field :city, placeholder: "City", :class => 'textField' %></div>

将文本字段呈现为

<input placeholder="City" class="textField" type="text" name="user[address][city]" id="user_address_city" />

但正如您所看到的,没有呈现“value”属性。如何使用地址城市的值预先填充文本字段?在这种情况下&lt; “卡尔加里”?

1 个答案:

答案 0 :(得分:1)

这很简单,只需分配下面的值,它就会预填充它。

<%= addr.text_field :city, placeholder: "City", :class => 'textField' , value: @user.address.city %>