Tag: ruby on rails 4

在rails控制台中创建实例时,Rails 4强参数失败

可能在这里做一些蠢事,但这是我的基本cookie切割器类: class League < ActiveRecord::Base private def league_params params.require(:full_name).permit! end end 在创建联盟的新实例时: 2.0.0-p0 :001 > l = League.new(full_name: ‘foo’, short_name: ‘bar’) WARNING: Can’t mass-assign protected attributes for League: full_name, short_name 我到底错在了什么? 这是一个Rails 4.0.0.beta1 build + Ruby 2.0 **更新** 我现在意识到强大的参数现在在Controller中实施而不是在模型中。 最初的问题仍然存在。 如果在控制器级别允许它们,如果我在Rails控制台中创建实例,如何正确地将属性列入白名单? 在这种情况下我是否还需要使用attr_accessible ,从而完全复制哪些强参数试图“修复”?

Seahorse :: Client :: NetworkingError使用rails上传Amazon S3文件

在我的rails 4应用程序中,我正在尝试下载,然后使用aws-sdk(使用gem ‘aws-sdk’, ‘~> 2′ )将常规png文件上传到我的s3存储桶。 在开发环境中,代码完全正常。 但是如果我尝试使用rails s -e production或者如果我测试了我的heroku实例上的上传,那么当我测试图像上传function时,我会收到以下错误: Seahorse::Client::NetworkingError (Connection reset by peer): app/helpers/aws_s3.rb:73:in `upload_to_s3′ app/controllers/evaluations_controller.rb:19:in `test’ 我在跟踪中提到的upload_to_s3方法如下所示: def upload_to_s3(folder_name) url = “http://sofzh.miximages.com/ruby-on-rails/WKeQQox.png” filename = “ss-” + DateTime.now.strftime(“%Y%d%m-%s”) + “-” + SecureRandom.hex(4) + “.png” full_bucket_path = Pathname(folder_name.to_s).join(filename).to_s file = save_to_tempfile(url, filename) s3 = Aws::S3::Resource.new(access_key_id: ENV[“IAM_ID”], secret_access_key: ENV[“IAM_SECRET”], region: ‘us-east-1’) s3_file = s3.bucket(ENV[“BUCKET”]).object(full_bucket_path) […]

如何使注册页面成为Devise的根页面?

我正在使用Devise 3.1.0在Rails 4.0.0上运行。 我的路线设置如下: devise_for :users do root “devise/registrations#new” end resources :books 我想要做的是让Devise注册页面成为用户的欢迎页面,如果他们还没有登录,但是如果他们已登录他们将进入图书索引。 现在它只是给我标准的Ruby on Rails:Welcome Aboard页面,好像Devise不存在。 我该怎么办? 回答 https://github.com/plataformatec/devise/issues/2393 devise_for :users devise_scope :user do authenticated :user do root :to => ‘books#index’, as: :authenticated_root end unauthenticated :user do root :to => ‘devise/registrations#new’, as: :unauthenticated_root end end

如何在Rails中使用gem’atject-as-taggable-on’获取所有标签的列表(不是计数)

我在我的模型中设置了acts-as-taggable-on gem,如下所示: acts_as_taggable_on :deshanatags 它使用上下文deshanatags 。 现在我需要在此上下文中以下列格式获取所有标签的列表(不仅是为一个项目分配的标签。我需要一切): [ {“id”:”856″,”name”:”House”}, {“id”:”1035″,”name”:”Desperate Housewives”} ] 我怎样才能做到这一点? 我试图遵循许多教程但是达到了死胡同,因为它们大部分都是为Rails编写的.Rails对模型进行了一些更改,比如删除了attr_accessor,这让我很难理解这些教程。 所以请帮忙。 只是我试图添加Jquery令牌输入( http://loopj.com/jquery-tokeninput/ )到我的应用程序 PS:通过标记表,有没有办法通过过滤上下文来获取像Tag.all输出的标签列表?

Ruby on rails工作流引擎(如IBM WorkFlow)

RoR中是否有任何工作流程实现? 几年来,我使用IBM WorkFlow开发并支持IBM Lotus Notes企业应用程序。 该软件提供了绘制业务流程方案的可能性(例如,有人创建文档并将其发送给另一个员工,另一个员工进行一些更改并将此文档发送给另一个员工或返回给发起人等) 现在我很难学习Ruby和RoR。 我的老板问道 – 我们可以用RoR实现这个function吗? 如果有一个软件来绘制业务流程方案和可以使用这个方案的gem,那将是很好的。 非常感谢! 抱歉我的英文)

Rails:如何使用scope来查找数组数组中的元素

我有一组数组,如[[“2″,”3”], [“3″,”1”], [“6”, “1”]] 。 每个子arrays的第一个元素是用户ID,第二个元素是用户为事件保留的席位数。 我想让每个用户通过在数组中查找他的ID来查看他的预订。 假设我有两个模型:用户和事件。 在用户控制器中,我想使用像@mybooking = Event.mybooking(current_user.id)这样的范围,问题是如何在事件模型中编写适当的范围? 并且,如果找到用户,我也想使用它的第二个元素。 我尝试了不同的解决方案,但没有奏效! 如果您认为使用示波器是不可能的,并且您有另一种解决方案,请告诉我。 编辑:由于我还在等待一个有效的解决方案,我应该提一下,我正在寻找这样的东西: scope :mybookings, ->(id){where(“reservations.to_enum.map{|n,m| n} ?”, id)} 要么 scope :mybookings, ->(id) { where(“reservations.map(&:first) ?”, id) } 由于与“……”部分相关的错误,这两个不起作用。 并且,下面的解决方案不正确,因为我从用户控制器调用事件的范围,并且不能在该控制器中使用reservations ,因为此变量用于事件控制器。

尝试在Mac上为Ruby on Rails安装Homebrew时出错

我试图在我的Mac上安装Homebrew与OS 10.8.5,我收到一个错误。 我在终端输入以下内容: ruby -e “$(curl -fsSkL raw.github.com/mxcl/homebrew/go/install)” 我收到以下错误 /Users/marlonmarescia/.rbenv/shims/ruby: line 21: /usr/local/Cellar/rbenv/0.4.0/libexec/rbenv: No such file or directory

没有路由匹配“/ sessions / new”(导轨4正在运行)

我正在关注Rails 4 In行动书,我遇到了以下错误: No route matches [POST] “/sessions/new” 我不知道为什么,因为我已经按照教程去了T.这让我相信教程本身是有缺陷的。 无论如何,出于某种原因,它应该发布到会话#new,它应该发布到会话#create。 我究竟做错了什么? sessions_controller.rb class SessionsController params[:signin][:name]).first if user && user.authenticate(params[:signin][:password]) session[:user_id] = user.id flash[:notice] = “Signed in successfully.” redirect_to root_url else flash[:error] = “Sorry.” render :new end end end 会议/ new.html.erb Sign in 的routes.rb get “/signin”, to: “sessions#new” post “/signin”, to: “sessions#create”

在rails app中为多个模型使用设计

你好我是rails的新手,我已经安装了rails版本4.我想知道我正在为老师n学生制作项目。 我可以将设计gem应用于模型教师和学生。 我项目中的主要内容是教师和学生注册表格需要不同。 然后任何人都可以告诉我如何应用设计的程序,以便可以不同地创建注册表单…

如何使用事务以多模型forms显示错误消息?

组织和用户这两个模型具有1:多的关系。 我有一个组合注册表单,组织和该组织的用户都可以注册。 我遇到的问题是:当为用户提交无效信息时,它会再次呈现表单,但不显示用户的错误消息(例如“用户名不能为空”)。 表单在提交有效信息时确实有效,并且显示组织的错误消息,而不是用户。 我应该如何调整下面的代码,以便显示用户的错误消息? def new @organization = Organization.new @user = @organization.users.build end def create @organization = Organization.new(new_params.except(:users_attributes)) #Validations require the organization to be saved before user, since user requires an organization_id. That’s why users_attributs are above excluded and why below it’s managed in a transaction that rollbacks if either organization or user is […]