use*_*363 12 ruby-on-rails simple-form ruby-on-rails-3.1
我的问题是如何设置只读的rails形式的字段.以下是引号控制器中的选择框.不允许用户更改选择.
<% @quote.test_items.each do |t| %>
<%= f.association :test_items, :label => false, :selected => t.id %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
该应用程序使用simple_form.非常感谢.
gk0*_*k0r 41
我遇到了类似的问题,谢天谢地,有一个简单的解决方案.
基本问题是,如果使用:disabled => truesimple_form,则不会在控制器中看到该值.从HTML表单传递对象以后将其绑定到模型时 - 您需要所有这些属性.该:disabled => true但是没有通过任何这样的属性.
解决方法是使用:readonly => true- 它将保护字段免受用户输入,它仍然会将参数值传递回控制器,以便您可以将所有内容绑定到模型.
祝好运.
请参阅https://github.com/plataformatec/simple_form/pull/367
我相信你只是传入:disabled => true.根据我的经验,选项"只适用于"simple_form.所以在你的情况下:
<% @quote.test_items.each do |t| %>
<%= f.association :test_items, :label => false, :disabled => true, :selected => t.id %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
也可以给SimpleForm提供:disabled选项,它会自动将包装器标记为使用css类禁用,因此您也可以在包装器中设置标签,提示和其他组件的样式.
我不清楚关联方法是否接受 HTML 选项,但如果接受,您可以传递disabled: 'disable'一个固定值以使其只读。
我认为您可以通过将关联作为块传递来选择固定值,如关联文档中所示:
f.association :company do |c|
c.input :name, selected: 'selection'
c.input :type
end
Run Code Online (Sandbox Code Playgroud)
至于整个列表是否可以只读并且仍然下拉,我从google看到的唯一解决方案涉及JS,例如:
http://techeyes.blogspot.com/2007/11/making-html-select-readonly.html
| 归档时间: |
|
| 查看次数: |
23015 次 |
| 最近记录: |