Rails访问符号的当前值

在edit.html.erb文件中,我有代码 这显示了一个数字字段,其当前值为question_id,允许我更改它。 现在我只想显示该值而不是让任何人改变它。 我怎样才能获得这个价值? 如果我说 问题只是等于一个字符串:“question_id”

Rails迁移:如何通过使用ROR迁移来增加INTEGER大小

我的联系人表号列是Integer类型。 现在我打算增加限额。 任何人请告诉我如何通过使用ROR迁移来增加限制。

从ruby方法中获取内容

我使用jruby运行一堆ruby脚本,虽然我使用的是纯ruby部分。 有时难以从输出中确切地发现究竟发生了什么或者确实出现了什么问题。 我想在每个方法的std中得到类似的东西:在方法A的方法A中输入 现在我肯定可以把这些评论放在每一种方法中……感觉非常错误。 有没有办法在更详细的情况下运行ruby以在我的日志中获取此信息。 希望我会避免使用很多gem等..因为这些是在一些托管服务器上,我将不得不花一些时间来获得更多的s / f。 希望有些东西可以作为jruby本身的一部分 谢谢!

default_scope在某些情况下会中断(更新|删除|销毁)_all

我相信这是Rails 3中的一个错误。我希望有人能指引我朝着正确的方向前进。 下面发布的代码纯粹是为了说明这个问题。 希望这不会混淆问题。 鉴于我有一个Post模型和一个Comment模型。 发表has_many评论,评论发表于发帖。 在Post模型上设置default_scope,定义join()和where()关系。 在这种情况下,()依赖于连接()。 通常post不依赖于评论。 再说一遍,我只想举一个简单的例子。 当where()依赖于join()时,这可能是任何情况。 class Post :destroy default_scope joins(:comments).where(“comments.id < 999") end class Comment true end 运行以下命令: Post.update_all(:title => Time.now) 生成以下查询,并最终抛出ActiveRecord :: StatementInvalid: UPDATE `posts` SET `title` = ‘2010-10-15 15:59:27’ WHERE (comments.id < 999) 同样,update_all,delete_all,destroy_all的行为方式相同。 当我的应用程序在尝试更新counter_cache时抱怨时,我发现了这种行为。 最终深入研究update_all。

undefined方法`authenticate_user! Devise / Rails 4中的Api :: PostsController

我的项目中有以下路线: root ‘home#index’ namespace :api, defaults: { format: :json } do devise_for :users, controllers: { sessions: “api/sessions” } resources :posts end 用户模型: class User < ActiveRecord::Base has_many :posts, dependent: :destroy has_many :comments, dependent: :destroy validates :name, presence: true devise :database_authenticatable, :rememberable end 会话控制器: class Api::SessionsController < Devise::SessionsController def create @user = User.find_for_database_authentication(email: params[:user][:email]) if @user […]

RoR:CanCanCan仅授权用户创建的项目

这段代码有什么问题? 普通用户仍然可以看到所有的关系,当他应该只看到他自己的。 我的观看代码: 我的Ability课程: can :manage, :all if user.role == “admin” if user.role == “normal” can :read, Relato , :user_id => user.id can :manage, Relato, :user_id => user.id end

基于具有has_many关联的子集合计数的查询始终显示无结果

我正在尝试查询子集合中的文档数量。 这是我的背景: class Pro include Mongoid::Document has_many :recommendations scope :lost, -> { where(:recommendation_ids => []) } scope :normal, -> { where(:recommendation_ids.ne => []) } end 和儿童collections: class Recommendation include Mongoid::Document belongs_to :pro end 所以,现在我执行: >> Pro.lost.count 0 >> Pro.all.select{|p| p.recommendations.count == 0}.count 1 我究竟做错了什么? 我也试过Pro.with_size(recommendation_ids: 0)和其他一些变化,但没什么新的。 任何想法都将受到高度赞赏,提前感谢。 Moped 2.0.1,Mongoid 4.0.0,Rails 4.0.6

config / application.rb中的Ruby on Rails / Timezone似乎不起作用

我正试图让用户采取行动。 但是,它似乎返回默认UTC时间,即使我将时区更改为首尔(UTC +9)。 这是我做的。 在 配置/ application.rb中 把代码放在下面。(将默认time_zone更改为seoul) config.time_zone =’首尔’ config.active_record.default_timezone =:local 然后,跑 铁轨 现在的时间 我希望时间为UTC +9,但它显示UTC +0 用户在数据中保存操作的时间也显示为UTC +0。 我如何获得UTC +9的时间?有什么我需要设置的吗?

Rspec生成的规范失败了

我已将以下内容添加到application.rb文件中 config.generators do |g| g.test_framework :rspec, :fixtures => true, :view_specs => false, :helper_specs => false, :routing_specs => false, :controller_specs => true, :request_specs => true g.fixture_replacement :factory_girl, :dir => “spec/factories” end 然后我生成了一个控制器 $rails g controller home index 这生成了spec / controllers / home_controller_spec.rb中的规范,如下所示 describe HomeController do describe “GET ‘index'” do it “returns http success” do get ‘index’ […]

如何使用表单连接has_one与条件的关系

我有一个has_one通过关系,条件连接我的应用程序中的旅行和地址。 每次旅行都有两个地址:起点和目的地。 地址可用于许多不同的旅行,可以是起点或目的地。 在应用程序中,行程和地址通过名为TripLocation的模型连接,该模型作为布尔列“目标”设置地址是否作为行程的目的地。 要查看有关该关系的更多信息,请参阅我之前提出的有关同一应用程序的问题: 在分配不同角色时在Rails中执行Has_many 我希望应用用户在创建旅行时从源和目的地的可能地址列表中进行选择。 这就是我所拥有的,我知道这是不正确的: #other trip things here like date and time (最终我将限制Address.all的地址选择,但是现在我希望这个版本能够工作。) 当我尝试从此表单提交时,我收到以下错误消息: NoMethodError in TripsController#create undefined method ‘id’ for “1”:String 所以这似乎是期望有一个对象(带有id)而不是包含对象id的字符串。 我知道数据库中应该出现哪些新条目以正确连接所有内容,但我不确定如何使用rails来实现目标,并且我很感激任何信息都指向了正确的方向。 编辑:以下是trips_controller中创建操作的代码: def create @trip = Trip.new(trip_params) if @trip.save redirect_to @trip, notice: ‘Trip was successfully created.’ else render action: ‘new’ end end 由于这是Rails 4,trip_params是以下私有方法: def trip_params params.require(:trip).permit(:origin, :destination, […]