Tag: 的Ruby on 轨道

SongsController中的NameError #index uninitialized constant Song :: FriendlyId

所以,我有一个应用程序,用户将进行大量的社交分享。 因此,链接必须看起来很漂亮。 我已经安装了friendly_id gem 但似乎得到了这个错误: NameError in SongsController#index uninitialized constant Song::FriendlyId class Song < ActiveRecord::Base extend FriendlyId friendly_id :title, use: :slugged song.rb snippit class Song < ActiveRecord::Base extend FriendlyId friendly_id :title, use: :slugged 歌曲控制器snippits class SongsController params[:page], :per_page => 15) get_last_song else @songs = Song.order(‘id’).order(‘plusminus desc nulls last’).paginate(:page => params[:page], :per_page => 15) #@songs = […]

使用edge生成Rails应用程序的最佳方法是什么?

目前,当我想使用边缘创建Rails应用程序时,我首先运行… rails appname 然后我… rake rails:freeze:edge 然后我删除所有文件夹,但删除包含冻结边缘的供应商文件夹。 一旦完成,我运行(从网站的根目录)… ruby vendor/rails/railties/bin/rails . 我现在就这样做,因为我想利用新的rails模板,新的application_controller.rb文件名和什么不是(如果我只使用之前生成的应用程序和冻结的边缘,我就不能)。 有没有更好的办法? 其他人如何使用边缘? 我可以将edge安装为gem吗? 有没有一种方便的方法只在计算机上只有一个边缘副本,并使用它只使用rails命令生成新的应用程序?

ActiveRecord查询别名字段名称输出

假设我有一张桌子世界 。 我在表格中有一个名为foo的字段。 我想查询World表并选择foo ,但我想在后续转换为JSON输出时将其别名为bar 。 有没有办法为这一个ActiveRecord查询别名字段名称? 不希望通过整个应用程序对字段进行别名。

Rails控制台仅显示日期时间列的日期

我的Reminders模型中有两列( date和mail_date ),其列类型为datetime ,您可以在schema.rb看到: create_table “reminders”, force: :cascade do |t| t.string “name” t.datetime “date” t.boolean “reminder”, default: false t.string “repeating” t.boolean “approved” t.boolean “gift”, default: false t.boolean “gift_help”, default: false t.string “occasion_type”, default: “Other” t.integer “user_id” t.datetime “created_at”, null: false t.datetime “updated_at”, null: false t.string “slug” t.datetime “mail_date” end 但是,在我的console ,它们仅显示为日期: [33] pry(main)> Reminder.where(name: “Mentor […]

错误(div class =“fieldWithErrors”)解决方法?

在我的项目中,我有一个注册表。 我的HTML看起来像 Login Email Password Confirm Password 现在通过提交空表单生成错误我的代码如下: Login Email Password Confirm Password 这将破坏我的布局。 有没有解决方案呢 代替 ?

:轨道中的常量符号

Rails中有一个方法可以将符号转换为常量吗? 我希望能够做类似的事情 :monkey.to_constant #=> Monkey 目前我必须这样做 :monkey.to_s.camelize.constantize 这有点拗口。

错误迁移正在等待; 运行’rake db:migrate RAILS_ENV = development’来解决此问题

我试图回滚上次迁移: rake db:rollback 它告诉我以下内容: == AddUserIdToPictures: reverting ============================================ — remove_index(:pictures, {:column=>[:user_id, :visible]}) -> 0.1201s — remove_column(:pictures, :user_id, :integer) -> 0.0127s == AddUserIdToPictures: reverted (0.1567s) =================================== 然后,如果我尝试访问某些页面,我会收到错误: Migrations are pending; run ‘rake db:migrate RAILS_ENV=development’ to resolve this issue 但当我做什么错误说:rake db:migrate RAILS_ENV = development,它重新创建我上面的回滚: == AddUserIdToPictures: migrating ============================================ — add_column(:pictures, :user_id, :integer) -> 0.0300s — add_index(:pictures, [:user_id, […]

如何在Devise Flash消息中呈现HTML和Rails助手?

我正在尝试从Devise控制器渲染自定义Flash消息。 它在视图中呈现如下: Your profile is incomplete. Why not #{ActionController::Base.helpers.link_to ‘add some more information’, edit_user_registration_path}. 如何在此flash中呈现HTML和Rails助手? 我在控制器中调用闪光灯 set_flash_message :warning, :profile_incomplete 使用:profile_incomplete config / locales / devise.en.yml中定义的:profile_incomplete 。 我尝试将字符串直接放在控制器中。 这会正确呈现帮助程序,但会显示未找到设备转换错误。 我尝试在devise.en.yml中附加.html_safe ,这会导致yaml错误。 我试过追加:profile_incomplete导致undefined method ‘html_safe’ for :profile_incomplete:Symbol 。 而且我已经尝试附加到普通的字符串,它似乎没有做任何事情。 我错过了什么? 谢谢你的任何建议。 编辑 sessions_controller.rb def after_sign_in_path_for(resource) if current_user.completeness ActionController::Base.helpers.link_to(‘add some more information’, edit_user_registration_path) end end devise.en.yml en: devise: […]

Ruby on Rails,从另一个模型创建记录

我在rails上使用这个文件上传程序用于ruby。 我上传了一些带有数字的文件进行统计分析。 文件模型称为filedb.In filedb.rb打开文件并分析数字(一些相关内容等)。 之后我需要将结果保存到一个名为results的表中。 只需在filedb.rb中写一下就聪明了: @cell=Results.new(:cell_name =>filenames, :icorrelation=>intensities) @cell.save 或者最好使用results_controller在表中创建记录? 以及类似这样的事情:results_controller.rb: def create @result = Result.new(params[:result]) if @result.save lalala else render :new end end 虽然我不知道如何传递参数:结果到控制器 提前致谢 编辑: filedbs_controller.rb: def analyse (filedb.where(analyse:no)).perform_analysis respond_to do |format| format.html { redirect_to :back } end end filedb.rb def self.perform_analysis list=Analysis.do_number_analyse if list!=nil results(list) end end def self.results(list) do somthing […]

如何获取foreign_key列的名称

我正在使用Rails 3,我有一个简单的模型 class Post has_many :comments end 我正在做一些元编程,我需要知道comments表中foreign_key的名称。 在上面的例子中答案是 post_id 但是它可以是任何东西,因为用户可以进行配置。 假设您有权访问Post和Comment两个类,您将如何获得foreign_key的名称? 更新:经过一些测试,这就是我得到的。 > User.reflections[:phone_numbers].instance_variable_get(‘@primary_key_name’) => “user_id” 以上解决方案适用于 class User has_many :phone_numbers end