Rails:如何在 Rails 中预填充文本字段?
Rails: How do I prepopulate a text field in Rails?
我正在使用 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
在我的日志中。那么在我上面controller对应的view中,有
<%= 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" />
但是如您所见,没有呈现“值”属性。如何让文本字段预填充地址城市的值?在这种情况下<“卡尔加里”?
这很简单,只需像下面这样分配值,它就会预填充它。
<%= addr.text_field :city, placeholder: "City", :class => 'textField' , value: @user.address.city %>
我正在使用 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
在我的日志中。那么在我上面controller对应的view中,有
<%= 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" />
但是如您所见,没有呈现“值”属性。如何让文本字段预填充地址城市的值?在这种情况下<“卡尔加里”?
这很简单,只需像下面这样分配值,它就会预填充它。
<%= addr.text_field :city, placeholder: "City", :class => 'textField' , value: @user.address.city %>