【发布时间】:2012-01-31 18:04:24
【问题描述】:
我有 2 个脚手架 Role(name:string),Permission(name:string) 我在它们之间创建了一个关系。所以现在我可以用一种简单的方式显示角色的权限:Role.permissions。
问题是为新角色创建一个表单,因为除了字段“名称”之外,我还想添加一个权限列表(复选框)。
这就是我到目前为止所做的。 (现在我使用的是文本框而不是复选框)
<%= form_for(@role) do |f| %>
<% if @role.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@role.errors.count, "error") %> prohibited this role from being saved:</h2>
<ul>
<% @role.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="list_of_fields">
<div class="field">
<%= text_field_tag :myVariable] %>
</div>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我说的正是这段代码:
<div class="list_of_fields">
<div class="field">
<%= text_field_tag :myVariable] %>
</div>
</div>
这会产生:
参数:{"utf8"=>"â", "authenticity_token"=>"MdS0VkLAxGoZM8P71H0a9M54CpMt8DnnwSp75UVGtqE=", "role"= {"name"=>"abc"}, "myVariable"=>"xyz", "commit"=>"创建角色"}
我不喜欢这种解决方案,因为如果有人选择特定的权限名称,它可能会失败(例如“提交”)。
我想关闭哈希中的所有这些附加字段。这样做的正确方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1