我有一个带有字符串属性User
的模型:location
。我试图为它创建一个select from options字段。
<%= 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
是Devise生成的模型。这是我的应用程序控制器:
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.
答案 0 :(得分:0)
我查看了Rails表单生成的html,这很有效。
libAppleScriptEngine.jnilib
我不确定为什么......但我看到的唯一区别就是id标签。