你怎么能有一个简单形式的隐藏领域?
以下代码:
= simple_form_for @movie do |f|
= f.hidden :title, "some value"
= f.button :submit
Run Code Online (Sandbox Code Playgroud)
导致此错误:
undefined method `hidden' for #SimpleForm::FormBuilder:0x000001042b7cd0
Run Code Online (Sandbox Code Playgroud) ruby-on-rails hidden-field form-for ruby-on-rails-3 simple-form
是否可以在没有模型的情况下使用Simple Form(by:Plataformatec)?
我有一个与名为'Order'的模型相关联的现有表单,但我想添加新的表单字段,以捕获要在第三方支付网关上处理的信用卡信息,如名称,cc号码等.
但由于我不想在我们的数据库中保存CC信息,因此我的订单表中没有相应的列.在提交表单时,这会给我一个错误,即那些信用卡输入字段不是订单模型的"部分".
我使用的是simple_form gem,我有一个国家/地区集合,当我选择国家/地区时它工作正常,更新的记录将存储国家/地区ID,但是,当我尝试编辑记录时,默认情况下未选择所选国家/地区编辑表格.
以下是编辑表单中的代码:
= f.input :country_id, :collection => all_countries
Run Code Online (Sandbox Code Playgroud)
simple_form不应该从db查看所选国家/地区吗?
我试图做输入的默认值
工作正常:
<%= f.input_field :quantity, default: '1' %>
Run Code Online (Sandbox Code Playgroud)
但我需要f.input而不是f.input_field
<%= f.input :quantity %>
Run Code Online (Sandbox Code Playgroud)
我尝试使用标准的html值 - 但在不成功的验证数量被1覆盖 - 不需要的
<%= f.input :quantity, input_html: {value: '1'} %>
Run Code Online (Sandbox Code Playgroud)当我删除值和验证是不成功的数量填充 - 一切都很好
<%= f.input :quantity %>
Run Code Online (Sandbox Code Playgroud)怎么解决这个?有没有像f.input_field那样的选择 - :默认?还是有其他有价值的解决方案?
我试图在admin /摄影师控制器中定义动作"savenew".
我试过这个:
<%= simple_form_for(:photographer_savenew, :action => 'savenew', :id => params[:id], :multipart => true ) do |f| %>
Run Code Online (Sandbox Code Playgroud)
但表格中的行动仍然是: /admin/photographers
它应该是: /admin/photographers/savenew
我有一个正在使用的表单,form_tag并且不确定如何将它与simple_form gem一起使用.这是我的表单看起来的样子:
<%= form_tag create_multiple_prices_path, :method => :post do %>
<% @prices.each_with_index do |price, index| %>
<%= fields_for "prices[#{index}]", price do |up| %>
<%= render "fields", :f => up %>
<% end %>
<% end %>
<%= submit_tag "Done" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
可以吗?如何form_tag更改正确使用simple_form?使用它时fields_for怎么样?新手可以使用一些帮助.
谢谢.
当我将'Required'属性添加
到html输入字段时,Rails会在标签之前预先添加星号(*).
有谁知道如何防止这种情况?
出于某种原因,Rails转换了这个:
<%= f.input :Company, :input_html => {:value => "", :id => "company_name"}, :label => "company name" %>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<div class="input string required">
<label for="company_name" class="string required">
<abbr title="required">*</abbr> company name</label>
<input type="text" value="" size="50" required="required" name="lead[Company]" id="company_name" class="string required">
</div>
Run Code Online (Sandbox Code Playgroud)
我不喜欢它在DIV中包装所有内容并向聚会添加ABBR元素.
我怎么能阻止这个?
我试图弄清楚如何设置SimpleForm生成的选择框的选定选项.我的代码是这样的:
<%= simple_form_for(@user) do |f| %>
<%= f.association :store, default: 1 %>
Run Code Online (Sandbox Code Playgroud)
当然这default: 1部分不起作用.
TIA
使用Simple_form 2.0.2
使用HAML的简单表单代码:
= f.input :remember_me, as: :boolean, inline_label: 'Remember me'
Run Code Online (Sandbox Code Playgroud)
但它呈现了这个:
<div class="control-group boolean optional">
<label class="boolean optional control-label" for="admin_remember_me">Remember me</label>
<div class="controls">
<input name="admin[remember_me]" type="hidden" value="0" />
<label class="checkbox"><input class="boolean optional" id="admin_remember_me" name="admin[remember_me]" type="checkbox" value="1" />Remember me</label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如何删除渲染的第一个标签,以便我只有内联标签?