Ruby on rails 构造初始化时为空的新键/值对。也许使用一个隐藏字段来使用两个新文本字段中的第一个字段中的值来设置键?这可以使用HTML和JS来完成。或者,您可以使用型号名称设置和用户拥有多个:设置来做一些更复杂但功能更强大的事情。通过这种方式,您可以使用嵌套的表单行为完成
Ruby on rails 构造初始化时为空的新键/值对。也许使用一个隐藏字段来使用两个新文本字段中的第一个字段中的值来设置键?这可以使用HTML和JS来完成。或者,您可以使用型号名称设置和用户拥有多个:设置来做一些更复杂但功能更强大的事情。通过这种方式,您可以使用嵌套的表单行为完成,ruby-on-rails,Ruby On Rails,构造初始化时为空的新键/值对。也许使用一个隐藏字段来使用两个新文本字段中的第一个字段中的值来设置键?这可以使用HTML和JS来完成。或者,您可以使用型号名称设置和用户拥有多个:设置来做一些更复杂但功能更强大的事情。通过这种方式,您可以使用嵌套的表单行为完成所有操作。即使你说设置大部分时间都是空的,实现这种关系可能是一个更好的主意。最终还是返回到一个关联。我会把你的回答记为最接近我的答案。模仿嵌套形式的行为可能会有太多的工作。是的,寻找一个关联是一个很好的选择;)谢谢你批改我的答案。这看起来很棒,
构造初始化时为空的新键/值对。也许使用一个隐藏字段来使用两个新文本字段中的第一个字段中的值来设置键?这可以使用HTML和JS来完成。或者,您可以使用型号名称
设置
和用户拥有多个:设置
来做一些更复杂但功能更强大的事情。通过这种方式,您可以使用嵌套的表单行为完成所有操作。即使你说设置大部分时间都是空的,实现这种关系可能是一个更好的主意。最终还是返回到一个关联。我会把你的回答记为最接近我的答案。模仿嵌套形式的行为可能会有太多的工作。是的,寻找一个关联是一个很好的选择;)谢谢你批改我的答案。这看起来很棒,明天就要试一试了。但是添加新的键怎么样?您必须构造一个新的键/值对,它在初始化时是空的。也许使用一个隐藏字段来使用两个新文本字段中的第一个字段中的值来设置键?这可以使用HTML和JS来完成。或者,您可以使用型号名称设置
和用户拥有多个:设置
来做一些更复杂但功能更强大的事情。通过这种方式,您可以使用嵌套的表单行为完成所有操作。即使你说设置大部分时间都是空的,实现这种关系可能是一个更好的主意。最终还是返回到一个关联。我会把你的回答记为最接近我的答案。模仿嵌套形式的行为可能会有太多的工作。是的,寻找一个关联是一个很好的选择;)谢谢你批改我的答案。
object.settings = { first_setting: 'My setting', second_setting: 'Something else' }
class User < ActiveRecord::Base
serialize :settings
attr_accessible :email, :settings_attributes
def settings_attributes=(attributes)
self.settings = attributes
end
end
class UsersController < ApplicationController
def index
@users = User.all
end
def show
@user = User.find(params[:id])
end
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
redirect_to users_path
else
render :new
end
end
end
<h1>Users#edit</h1>
<%= form_for @user do |f| %>
<%= f.fields_for :settings_attributes, OpenStruct.new(@user.settings) do |builder| %>
<% @user.settings.keys.each do |key| %>
<%= builder.text_field key.to_sym %><br />
<% end %>
<% end %>
<%= f.submit %>
<% end %>