Tag: ruby on rails 4

PG :: StringDataRightTruncation:错误:PostgreSQL字符串(255)限制| Heroku的

我有一个Listings controller ,用户可以添加说明。 如果描述很长,它应该是,我在Heroku中收到此错误: ActiveRecord::StatementInvalid (PG::StringDataRightTruncation: ERROR: value too long for type character varying(255) 我怎样才能解决这个问题? 编辑 我发现(John也说)我必须将我的表字符串(有一个限制)改为:文本是无限的。 但只是在迁移中更改表似乎不起作用。 我编辑的列表迁移 class CreateListings nil t.timestamps end end end 但我仍然遇到了Heroku麻烦 – > 2013-07-29T09:39:05.069692+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::StringDataRightTruncation: ERROR: value too long for type character v rying(255) 2013-07-29T09:39:05.069870+00:00 app[web.1]: 2013-07-29T09:39:05.069692+00:00 app[web.1]: : INSERT INTO “listings” (“created_at”, “description”, “image_content_type”, “image_file_name”, “image_fil […]

为Devise用户创建配置文件

所以我采用了Profile模型中为Devise用户描述的步骤? 我正在使用rails 4和ruby 1.9.3p448 class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable attr_accessible :email, :password, :password_confirmation, :remember_me, :profile_attributes has_one :profile accepts_nested_attributes_for :profile protected def profile super || build_profile end end # class Profile < ActiveRecord::Base belongs_to :user attr_accessible :uname, :manager end # Sign up… resource_name, :url => registration_path(resource_name) do |f| %> true […]

Pundit policy_scope错误:未定义的方法`admin?’ 为零:NilClass

遇到Pundit我不理解的事情, 使用Rails 4.2.5.1,Pundit 1.1.0和Devise进行身份validation。 我正在尝试使用BlogController #Index操作的策略范围。 如果用户是管理员,则显示所有post(草稿,已发布) 如果用户是标准用户,则显示仅标记为已发布的帖 如果没有用户/用户未登录,则显示仅标记为已发布的post 得到错误: 未定义的方法`admin?’ 为零:NilClass Live shell揭示: >> user => nil # ApplicationController class ApplicationController < ActionController::Base include Pundit rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception private def user_not_authorized flash[:error] […]

基于XML的RESTful API

我使用rails g scaffold创建了一个基本的RESTful服务,它无法接受ActiveResource发送的XML请求(适用于JSON POST请求和XML GET请求)。 它失败了ActionController::ParameterMissing所以很明显它与白名单有关但我无法弄清楚究竟应该发送什么。 有什么建议?

Rails Asset Pipeline没有加载我的javascript文件(为什么这段代码不起作用

如果我将它包含在视图本身中,并且如果我将它直接包含在Application.js文件中,则该代码可以正常工作,但如果我将它包含在assets / javascripts / mailers.js文件中,它将无效。告诉我我做错了什么,谢谢。 function myFunction(val) { if (val.length == 10) { document.getElementById(‘search_button’).focus();}}; 也许我说错了? 这是视图中的代码: 还有什么我必须添加到上面包含的mailers.js文件中吗? 因为这就是该文件中的所有内容。 mailers.js文件中唯一的代码是: function myFunction(val) { if (val.length == 10) { document.getElementById(‘search_button’).focus();}};

如何制作ActiveRecord ThreadSafe

如何使用postgresql在rails 4中创建以下控制器线程安全: def controller_action if Model.exists(column_name:”some_value”) else @model=Model.new(column_name:”some_value”) @model.save end end 我正在运行puma,所以我担心的是,如果两个线程同时运行此控制器,并且不存在具有指定值column_name的行,则将创建两个记录,而我只想要1。

可以让Rails 4在Windows上运行吗?

我正在研究Rails 4(使用候选版本)项目,现在需要在Windows机器上与某人协作。 我甚至无法得到一个基本的网页,但是:(即使使用Ruby 2.0安装sqlite3也很痛苦。现在,当我试图建立一个网页时(我刚刚创建了一个虚拟/家庭/索引控制器)和视图),我收到此错误: Showing C:/Users/me/RubymineProjects/test_project/app/views/layouts/application.html.erb where line #6 raised: (in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.1.1/lib/assets/javascripts/turbolinks.js.coffee) Extracted source (around line #6): 3 4 TestProject 5 true %> 6 true %> 7 8 9 Rails 4还没有为Windows做好准备吗? 使用Ruby 2.0.0p195。 更新 :根据@szines请求,这是网页输出 http://localhost:3000/rails/info/properties: Ruby version 2.0.0 (x64-mingw32) RubyGems version 2.0.3 Rack version 1.5 Rails version 4.0.0.rc1 JavaScript Runtime JScript Active Record version […]

在Rails引擎规范中使用正确的url_for方法

我在Rails引擎中有一个请求规范。 呈现的视图调用路径并传入散列,即projects_path(:scope => “user”) 。 像这样的路由最终将调用url_for ,但url_for在很多地方定义。 在主应用程序(根级别)中运行应用程序或运行请求规范时,调用链最终在ActionView::RoutingUrlFor#url_for ; 但是,当在引擎中运行规范时,调用链最终会出现在ActionView::Helpers::UrlHelper#url_for 。 在Rails 4中, UrlHelper定义的url_for方法不再接受哈希参数,所以我留下了这个错误 Failure/Error: visit projects_opportunity_intakes_path ActionView::Template::Error: arguments passed to url_for can’t be handled. Please require routes or provide your own implementation 我想弄清楚的是,为什么当我在我的引擎中运行规范时,它会回到ActionView::Helpers::UrlHelper ,但在其他任何情况下都没有。 这非常令人困惑。 有一件事对我来说很突出:当我在视图中放置一个断点并评估self.class ,我通常得到一些从ActionView::Baseinheritance的东西,但是当我从我的引擎运行一个规范时,该类不会inheritance从任何事情。 我不知道这是否相关,但看起来很可疑。 有人经历过吗? 知道解决方法吗? 我的模块可能被包含在错误的订单中吗? 在spec_helper或虚拟应用程序初始化中有什么东西我可以做以确保正确使用正确的模块吗?

rails 4强参数+动态hstore键

我在使用Hstore和动态访问器克服Rails 4中新的强params需求时遇到了问题 我有一个Hstore列,名为:content ,我想用它来存储多种语言的内容,即:en, :fr等。我不知道在模型或控制器中预先设置哪种语言。 store_accessor :content, [:en, :fr] #+226 random other il8n languages won’t work. 如何在rails 4中为一列覆盖强params(或允许动态hstore键)? params.require(:article).permit( :name, :content, :en, :fr #+226 random translations ) 缺乏… params.require(:article).permit! 这当然有效。

如何添加用户名字段来设计gem?

这是我试过的, rails g migration add_username_to_hrs bundle exec rake db:migrate 添加了attr_accessible:username 重启服务器 我的add_username_to_hr.rb class AddUsernameToAuthorize < ActiveRecord::Migration def change add_column :authorizes, :username, :string end end 错误 #的未定义方法`username’ 问题 :如何在我的设计gem中添加用户名字段?