Ruby on rails ROR:仅查看表单字段
是否有任何方法可以将表单字段标记为只能在视图中访问 我有一些与jQuery结合使用的“helper”字段,用于在视图中构建和排序某些元素。这些字段不需要传递到控制器,并且根本不链接到模型 我只是想知道是否有一些属性可以用于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为所有表单元素提供了一个“禁用”属性,这些表单元素将被排除在提交之外
目前我只使用普通表单字段。也许
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替代方案:)