我有一个具有字符串属性:location的模型User。我正在尝试为它创建一个select from选项字段。
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<select name="user[location]" form="user[location]">
<option value="Earth">Earth</option>
<option value="Mars">Mars</option>
<option value="Jupiter">Jupiter</option>
</select>
<%= f.submit "Sign up" %>
<% end %>但是当我提交表单时,User.last.location是nil。如果我使用Rails f.select,我可以让它工作
<%= f.select :location, options_for_select([['Earth'], ['Mars'], ['Jupiter']]) %>为什么我的html表单不能工作?
User是一种设计生成的模型。下面是我的应用程序控制器:
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :location
end
end控制器操作直接内置于gem文件中,因此控制器派生自here.。
发布于 2015-10-10 05:07:36
我查看了Rails表单生成的html,结果很好用。
<label for="user_location">Location</label>
<select id="user_location" name="user[location]">
<option value="Earth">Earth</option>
<option value="Mars">Mars</option>
<option value="Jupiter">Jupiter</option>
</select>我不确定为什么我看到的唯一不同之处就是though...the的id标签。
https://stackoverflow.com/questions/33046570
复制相似问题