Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ROR:仅查看表单字段_Ruby On Rails_Ruby On Rails 3_Forms - Fatal编程技术网

Ruby on rails ROR:仅查看表单字段

Ruby on rails ROR:仅查看表单字段,ruby-on-rails,ruby-on-rails-3,forms,Ruby On Rails,Ruby On Rails 3,Forms,是否有任何方法可以将表单字段标记为只能在视图中访问 我有一些与jQuery结合使用的“helper”字段,用于在视图中构建和排序某些元素。这些字段不需要传递到控制器,并且根本不链接到模型 我只是想知道是否有一些属性可以用于ROR表单字段,以将它们标记为过时 目前我只使用普通表单字段。也许FormTagHelper()可以帮助您。使用此帮助程序,您可以在表单之外创建html输入(这样,这些输入字段的值就不会发送到控制器)。html为所有表单元素提供了一个“禁用”属性,这些表单元素将被排除在提交之外

是否有任何方法可以将表单字段标记为只能在视图中访问

我有一些与jQuery结合使用的“helper”字段,用于在视图中构建和排序某些元素。这些字段不需要传递到控制器,并且根本不链接到模型

我只是想知道是否有一些属性可以用于ROR表单字段,以将它们标记为过时


目前我只使用普通表单字段。

也许
FormTagHelper
()可以帮助您。使用此帮助程序,您可以在表单之外创建html输入(这样,这些输入字段的值就不会发送到控制器)。

html为所有表单元素提供了一个“禁用”属性,这些表单元素将被排除在提交之外。使用该选项,或使用javascript进行提交前检查,以从表单提交中删除属性。

要根据Archit Baweja的回答展开,禁用按钮、输入、OPTGROUP、OPTION、SELECT和TEXTAREA标记不会随表单一起提交。有关禁用元素的更多信息,请参见:

此外,如果您对通过“upodate_属性(参数)”在控制器中大量分配这些输入有任何安全顾虑,然后您可以使用attr\u accessible防止此最终用户分配。您可以调用此方法并将要传递的参数名称传递到白名单,并在使用update\u属性时允许传递:

class AccountsController < ApplicationController
  include ActiveModel::MassAssignmentSecurity

  attr_accessible :first_name, :last_name
  attr_accessible :first_name, :last_name, :plan_id, :as => :admin

  def update
    ...
    @account.update_attributes(account_params)
    ...
  end

  protected

  def account_params
    role = admin ? :admin : :default
    sanitize_for_mass_assignment(params[:account], role)
  end

end
class AccountsController:管理员
def更新
...
@account.update_属性(account_参数)
...
结束
受保护的
def帐户参数
角色=管理员?:管理员::默认值
为质量分配清理(参数[:帐户],角色)
结束
结束

有关MassaSignmentSecurity模块的更多信息可在此处找到:

谢谢,这正是我想要的。ROR替代方案:)