Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyOnRails中设置模型之间的依赖关系_Ruby On Rails_Ruby_Model_Dependencies - Fatal编程技术网

Ruby on rails 如何在RubyOnRails中设置模型之间的依赖关系

Ruby on rails 如何在RubyOnRails中设置模型之间的依赖关系,ruby-on-rails,ruby,model,dependencies,Ruby On Rails,Ruby,Model,Dependencies,我有两种型号:用户和传感器。我想设置依赖性有很多并且属于 传感器模型 class Sensor < ActiveRecord::Base attr_accessible :user_id, :data, :ids, :voltage, :status belongs_to :user end 当我按下创建按钮时,依赖性没有设置,我想你的应用程序中有当前用户 因此,在创建操作中,请尝试以下代码 def create @sensor = current_user.sen

我有两种型号:用户和传感器。我想设置依赖性有很多并且属于

传感器模型

class Sensor < ActiveRecord::Base
    attr_accessible  :user_id, :data, :ids, :voltage, :status
    belongs_to :user
end

当我按下创建按钮时,依赖性没有设置,我想你的应用程序中有当前用户

因此,在创建操作中,请尝试以下代码

def create
  @sensor = current_user.sensors.new(sensor_params)

  # YOUR CODE GOES HERE
end

您的数据库和模型设置看起来正确;“创建”按钮触发的任何代码都可能不正确。你能粘贴实际创建模型的代码吗?我编辑了添加控制器的问题创建方法你的
传感器参数是否包括
用户id
?谢谢!成功了!但当我与其他用户重新登录时,传感器列表显示所有传感器,我如何才能使传感器列表仅显示当前用户的传感器?对不起,我的英语)在传感器控制器的索引操作中,使用行
@sensors=current\u user.sensors
而不是
@sensors=Sensor.all
。如果不起作用,请添加索引操作代码。
class AddUserId < ActiveRecord::Migration
    def change
        add_column :sensors, :user_id, :integer
    end
end
 def create

@sensor = Sensor.new(sensor_params)

respond_to do |format|
  if @sensor.save
    format.html { redirect_to @sensor, notice: 'Sensor was successfully created.' }
    format.json { render action: 'show', status: :created, location: @sensor }
  else
    format.html { render action: 'new' }
    format.json { render json: @sensor.errors, status: :unprocessable_entity }
  end
end
end
def create
  @sensor = current_user.sensors.new(sensor_params)

  # YOUR CODE GOES HERE
end