【问题标题】:Rails with Backbone does not save has_many data带有 Backbone 的 Rails 不保存 has_many 数据
【发布时间】:2013-11-21 12:02:06
【问题描述】:

我对 Rails 真的没有经验。我可能正在做一些不合时宜的事情。如果是这样,请告诉我。
我正在尝试将has_many 数据保存在group belongs_to building 的位置。还有buildinghas_manygroups。我从主干将数据作为 JSON 发送到 Rails。

{
max: "10"
max_age: "70"
min_age: "50"
name: "new group"
building: "kvbmPQQo"
}

在我的 groups_controller.rb 中,我尝试首先通过 id_token 找到 building,然后用所述建筑物保存组。

def create
  @building = Building.where(:id_token => params[:building]).first
  @group = Group.new(group_params)
  @group.building = @building
  @group.save
  respond_to do |format|
    format.json { render :json => @group }
  end
end

当我运行它时,我不知道确切的问题是什么。 它不保存。 这是终端中记录的内容。

Started POST "/groups" for 127.0.0.1 at 2013-11-21 06:48:04 -0500
Processing by GroupsController#create as JSON
  Parameters: {"name"=>"G", "max"=>"2", "min_age"=>"2", "max_age"=>"2", "building"=>"kvbmPQQo", "group"=>{"name"=>"G", "min_age"=>"2", "max_age"=>"2"}}
  Building Load (0.3ms)  SELECT "buildings".* FROM "buildings" WHERE "buildings"."id_token" = 'kvbmPQQo' ORDER BY "buildings"."id" ASC LIMIT 1
   (0.1ms)  BEGIN
   (0.1ms)  ROLLBACK
Completed 200 OK in 23ms (Views: 0.2ms | ActiveRecord: 1.1ms)

另外,如果您看到我正在以完全非“rails 方式”做的事情,请告诉我。
我的groups.rbbelongs_to :building,我的building.rbhas_many :groups

【问题讨论】:

    标签: ruby-on-rails json backbone.js ruby-on-rails-4


    【解决方案1】:
    def create
    
      # Find the building by its token
      @building = Building.find_by(:id_token => params[:building])
      # or
      # @building = Building.where(:id_token => params[:building]).first
    
      # Create a new building group with parameters
      @group = @building.groups.create(params[:group])
    
      respond_to do |format|
        format.json { render :json => @group }
      end
    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多