导轨4与你管

我想在你的rails 4 app中加入你的管。 我希望用户能够上传video文件,然后将其发布到我的管频道上。 我正在使用Rails 4和Youtube_it gem。 我一直在尝试按照本教程: http : //www.sitepoint.com/youtube-rails/ 我的文件结构有项目模型和video模型。 协会是: Project.rb has_one :video accepts_nested_attributes_for :video Video.rb belongs_to :project 我的video表有一个名为:include_video的布尔属性。 ‘fixradio’}, {:class => “radio-inline create-project response-project”} %> 如果这是真的,那么我想揭示用户添加video链接的字段(属性称为:链接)。 我提出这些问题的video表格是部分的。 部分是在项目表格内,还有其他问题。 我还有一个局部视图,其中包含用于管夹的容器(如教程中所示)。 视图部分包含在我的项目显示页面中: 我的问题是,当我尝试这种方法时,我收到的错误是: undefined method `include_video?’ for nil:NilClass 我不明白未定义的方法在我的video表中的属性名称的上下文中意味着什么,我也不明白nil:NilClass的含义。 我还尝试将video视图部分包含在内: 这不会给出错误消息,但它也不显示剪辑(当我在代码检查器中检查元素时,它根本没有显示。我可以看到上传也没有保存到数据库,因为我的控制台搜索说没有video。 我的项目控制器在我的video表中有白色标记属性(我的video控制器也是如此)。 def project_params params.require(:project).permit( video_attributes: [:include_video, :link], def video_params params[:video].permit(:include_video, :link, :project_id) […]

Ruby on Rails Mysql2 ::错误:表’pages’已经存在:CREATE TABLE`page`但无法迁移回来

我试图运行迁移但是在第一次尝试运行它时错过了t.integer“subject_id”中的一行。 迁移看起来像这样: class CreatePages false t.timestamps end add_index(“pages”, “subject_id”) add_index(“pages”, “permalink”) end def down drop_table :pages end end 以上现在似乎是正确的,但当我尝试再次运行时,我得到了这个: George$ rake db:migrate == 20150110112705 CreatePages: migrating ====================================== — create_table(:pages) rake aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Table ‘pages’ already exists: CREATE TABLE `pages` (`id` int(11) auto_increment PRIMARY KEY, `subject_id` int(11), […]

引用列名称

我有一个包含2个“不常见”列的表 – order like 。 该表在两个数据库上复制MySQL和PostgreSQL 。 我需要相同的应用程序连接到两个数据库并在两个上使用相同的查询: PageModel.where(“`like` >= ?”, params[:liked]) 这只适用于MySQL 。 如何让ActiveRecord引用列名? 就像是: PageModel.where(“%s >= ?” % quote_column_name(:like), params[:liked]) 我找到了一个现在没用的方法 – 它只返回列名而不引用它。 http://www.rubydoc.info/docs/rails/3.2.8/ActiveRecord/ConnectionAdapters/Quoting:quote_column_name 也许它只是一个占位符,还有另一种方法可以做到这一点?

Twitter bootstrap datetime-picker在模态中没有正确显示

我一直在使用twitter bootstrap datetime-picker和ruby on rails来显示日历,我也在一个模态中使用它,但它显示为部分,因为我试图在屏幕的底部显示 HTML JS $(document).ready(function(){ $(‘#datetimePicker’).datetimepicker(); }); 我也用过这个额外的CSS .bootstrap-datetimepicker-widget { z-index:99999 !important; }

Rails 3.0.7 ActionMailer附件问题

我正在尝试将文件附加到外发电子邮件,但附件大小最终为1个字节。 无论我转发什么附件,它总是以1字节的大小(腐败)结束。 其他一切看起来都不错。 电子邮件信息从IMAP帐户中提取并存储在数据库中以供浏览。 附件存储在文件系统中,其文件名存储为电子邮件的关联记录。 在视图中,可以选择将电子邮件转发给其他收件人。 它适用于Rails 2.3.8,但是对于Rails 3,我必须更改方法的附件部分,所以现在它看起来像…… def forward_email(email_id, from_address, to_address) @email = Email.find(email_id) @recipients = to_address @from = from_address @subject = @email.subject @sent_on = Time.now @body = @email.body + “\n\n” @email.attachments.each do |file| if File.exist?(file.full_path) attachment :filename => file.file_name, :body => File.read(file.full_path) else @body += “ATTACHMENT NOT FOUND: #{file.file_name}\n\n” end end end […]

设计身份validation未定义方法’to_sym’?

我试图使用设计针对LDAP活动目录设置身份validation系统。 (按照教程http://wiki.phys.ethz.ch/readme/devise_with_ldap_for_authentication_in_rails_3 我完全按照指示,当我尝试运行应用程序时,我得到以下错误: undefined method `to_sym’ for #<ActiveModel::MassAssignmentSecurity::WhiteList:0x2a4abd50 我甚至不知道to_sym在to_sym ,因为它没有告诉我! 任何人都知道这个的原因或至少如何找到包含这一行的文件? * ** * ** * 更新 * ** * ** * user.rb模型: class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable devise :ldap_authenticatable, :rememberable, :trackable, # Setup accessible (or protected) attributes for your […]

Rails 3使用嵌套资源进行路由错误

在我的Rails应用程序中,有很多游戏,每个游戏都有自己的排行榜。 因此,将排行榜嵌套在游戏中是有道理的,因此您只能通过游戏进入排行榜。 我设置了我的routes.rb文件(重要部分): resources :games do resources :leaderboards end 所以我更新了我的控制器,以便从传入的game_id获得适当的游戏,并从中获取排行榜信息。 但是,我的问题来自我的观点。 在本节中(从脚手架自动生成的视图): ‘Are you sure?’, :method => :delete %> 代码破解说: No route matches {:action=>”edit”, :controller=>”leaderboards”, :game_id=>#} 这一行,结果是错误:(我的代码中的第19行) 删除此行,视图呈现正常。 因此,URL部分已损坏,但我该如何解决? 奇怪的是,我在Show视图中确实有“edit_game_leaderboard_path”,它运行正常……我做错了什么?

Rails – Dokku – Paperclip:每次推送到生产中断(404s)用户上传的图像

使用Dokku在Digital Ocean上运行Rails 4应用程序。 用户可以通过回形针上传图像。 我可以上传图像,应用程序运行良好并显示所有图像。 一旦我做了一个像文本更改的小改动,我运行$ git push dokku master,所有上传的图像404。 模型: class ProductImage “:rails_root/public/system/:attachment/:id/:basename_:style.:extension”, :url =>”/system/:attachment/:id/:basename_:style.:extension”, styles: { thumb: [“64×64#”, :jpg], medium: [‘200×200>’, :jpg], large: [‘400×400>’, :jpg] } validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ belongs_to :product end 我有rails_12factor gem。 这是配置文件: Rails.application.configure do config.cache_classes = true config.eager_load = true config.consider_all_requests_local = false config.action_controller.perform_caching = true config.serve_static_files = ENV[‘RAILS_SERVE_STATIC_FILES’].present? […]

Respond_to混乱

我有一个编辑/更新表单,我通过form_for设置: 在有效数据的情况下,我希望相应的更新操作保存更改,并将用户重定向到他来自的位置。 在这种情况下不需要JS。 如果数据无效,我希望JS处理这种情况。 我把控制器设置成这样: def update @user = current_user @vocab = @user.vocabs.find(params[:id]) if @vocab.update_attributes(vocab_params) flash[:notice] = “Vocab updated!” respond_to do |format| format.js { redirect_back_or(home_user_path(@user)) } end else flash[:error] = “Vocab invalid!” respond_to do |format| format.html { render ‘edit’ } format.js { render file: “vocabs/update.js” } end end end 我遇到的问题是,在有效数据的情况下,保存的URL(study_setup)正在被处理为JS,这可以防止端被加载。 我在哪里告诉Rails使用JS进行此重定向? Started PATCH “/users/1/vocabs/445” for […]

Chrome浏览器后退按钮问题

我在Rails应用程序中的表单中有一组单选按钮。 该function类似于单击未选中的单选按钮,它会在单击选中的单选按钮时重定向到同一页面。 根据URL的param值选择单选按钮 问题 : 选择一个新的单选按钮 单击浏览器后退按钮 现在,除了单选按钮选择之外,所有数据都会根据param值进行刷新。 单选按钮仍处于初始状态。 注意:问题仅发生在Chrome 。 它在Firefox和IE运行良好