ruby-on-rails - ruby rails : retrieve form input field's id

标签 ruby-on-rails

我是 Ruby 和 Ruby on Rails 的新手。我正在尝试找到一种方法来获取由hidden_​​field 帮助程序创建的输入字段上使用的id,因为我需要添加一些使用jquery 通过id 获取输入字段的javascript。

我有两个模型 > 人员和地址。 人员 has_one 地址和地址具有 zip_code 属性。

我使用以下代码生成带有隐藏字段的表单:

<%= form.fields_for :address do |form| %>

     <%= form.hidden_field :zip_code %>

<% end %>

这会生成以下 html:

<input class="text" id="person_address_attributes_zip_code" name="person[address_attributes][zip_code]" type="hidden" />

是否有任何方法或帮助程序可以为我提供用于给定属性字段的 id?例如,我需要知道对于 :zip_code,生成的 id 是“person_address_attributes_zip_code”。

提前非常感谢。 布鲁诺

最佳答案

表单构建器可以访问对象名称,如果您知道字段名称,您可以使用该对象名称来获取生成的 ID。我在 Rails 3 中对此进行了测试:

<%= form.fields_for :addresses do |form|%>  
  <%= "#{form.object_name}[zip_code]".gsub(/(\])?\[/, "_").chop %>
  <%= form.text_field :zip_code %>  
<% end %>

关于ruby-on-rails - ruby rails : retrieve form input field's id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4535980/

相关文章:

ruby-on-rails - Ruby on Rails 测试 - ActiveRecord::StatementInvalid: PG::InvalidTextRepresentation: ERROR: 格式错误的数组文字:

jquery - Rails 从 javascript 删除链接调用

ruby-on-rails - 如何在一次交易中保存相关模型?

ruby-on-rails - `rails generate scaffold_controller` 不响应 View 参数

ruby-on-rails - Rails AWS-SDK : Set Expiration Date for Objects

ruby-on-rails - 获取使用 resque-scheduler 安排的 Resque 作业

ruby-on-rails - 如何测试枚举操作方法在创建或保存之前验证对象?

javascript - 从 Rails View 将数据传递给 javascript?

ruby-on-rails - 你能在 Ruby on Rails 中手动 "trigger"回调吗?

ruby-on-rails - 如何使用 Rails Form 和 Role Model Gem 添加多个角色