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 %>