Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

7
Rails 3:如何在Ajax调用中“ redirect_to”?
attempt_login提交登录表单后,使用Ajax调用以下方法。 class AccessController < ApplicationController [...] def attempt_login authorized_user = User.authenticate(params[:username], params[:password]) if authorized_user session[:user_id] = authorized_user.id session[:username] = authorized_user.username flash[:notice] = "Hello #{authorized_user.name}." redirect_to(:controller => 'jobs', :action => 'index') else [...] end end end 问题是那redirect_to行不通。 您将如何解决?

8
如何在水豚中获得父节点?
我正在使用许多jQuery插件,这些插件通常会创建没有id或其他标识属性的DOM元素,而在Capybara中获取它们的唯一方法(例如单击)-首先获取其邻居(其祖先的另一个孩子) 。但是我什么都没找到,水豚支持这样的事情,例如: find('#some_button').parent.fill_in "Name:", :with => name ?

14
使用Rails,如何将主键设置为非整数类型的列?
我正在使用Rails迁移来管理数据库模式,并且正在创建一个简单的表,在该表中我想使用非整数值作为主键(特别是字符串)。为了简化我的问题,我们假设有一个表employees,其中的员工由字母数字字符串标识,例如"134SNW"。 我试过在这样的迁移中创建表: create_table :employees, {:primary_key => :emp_id} do |t| t.string :emp_id t.string :first_name t.string :last_name end 这给了我什么,似乎它完全忽略了该行t.string :emp_id,并使其成为整数列。还有其他方法可以让rails为我生成PRIMARY_KEY约束(我正在使用PostgreSQL),而不必在execute调用中编写SQL吗? 注意:我知道最好不要将字符串列用作主键,所以请不要回答只是说要添加一个整数主键。我仍然可以添加一个,但是这个问题仍然有效。

8
Java迁移
我在Rails和Java上都使用ruby。在Rails项目中工作时,我真的很喜欢使用迁移。所以我想知道是否有类似Java的迁移工具?如果没有这样的工具,将迁移用作控制Java项目使用的数据库的工具是个好主意吗?

6
如何从模型中检测属性更改?
我想在Rails中创建一个回调函数,该回调函数在保存模型后执行。 我有这个模型,Claim具有一个属性“状态”,该属性根据声明的状态而变化,可能的值是待定,认可,批准,拒绝 数据库具有“状态”,默认值为“待定”。 我想在首次创建模型或将模型从一种状态更新为另一种状态后执行某些任务,具体取决于模型从哪个状态改变。 我的想法是在模型中具有一个功能: after_save :check_state def check_state # if status changed from nil to pending (created) do this # if status changed from pending to approved performthistask end 我的问题是在模型内更改之前如何检查以前的值?

4
如何“激活”特定宝石的其他版本?
我想在Rails 2.3.10之间切换,将其作为OS的“活动” gem,以便可以在命令行中调用它。 是否有可能做到这一点?我没有使用rvm。也许是时候开始了。 我试过了gem install rails --version=2.3.10,但这只是确保已安装gem的版本,而没有将它放在中/usr/bin/rails。 (我已经为我的应用程序使用了捆绑程序-但到目前为止,在操作系统级别上不需要对gems进行任何精确控制)

6
Redis和Memcache还是Redis?
我正在使用memcached通过简单的Rails.cache界面在Rails 3应用程序中进行一些缓存,现在我想使用redis和resque进行一些后台作业处理。 我认为它们的区别足以保证两者都使用。但是在heroku上,使用memcached和Redis需另外付费。两者都有意义还是应该迁移到仅使用Redis? 我喜欢使用memcached进行缓存,因为最近最少使用的键会自动从缓存中推出,并且我不需要缓存数据来持久化。Redis对我来说大多是新手,但我了解默认情况下它是持久性的,并且密钥不会自动过期。 编辑:只是想更清楚我的问题。我知道只使用Redis而不是两者都可行。我想我只是想知道这样做是否有任何特定的缺点?考虑到实现和基础架构,是否有任何原因导致我不应该只使用Redis?(即,对于简单的缓存而言,memcached更快吗?)我都没有找到任何确定的方法。

5
使用Rails link_to进行发布的链接
我有一个链接,需要使用该链接提交发帖请求。通常,我将使用jQuery并防止链接的默认行为,然后将表单提交到目标。看起来Rails应该可以帮助我。当然,该link_to方法具有用于指定POST http方法的选项: link_to "Profile", 'http://example.com/profile', method: :post 那行得通,但我也需要添加2个参数。我试过了: link_to "Profile", 'http://example.com/profile', method: post, param1: 'value1', param2: 'value2' 这只是将这些参数添加到<a>HTML元素中,但在单击链接时未提交这些参数: <a rel="nofollow" param1="value1" param2="value2" data-method="post" href="http://example.com/profile">Profile</a> 有没有一种方法可以使用link_to或任何其他Rails方法对参数进行POST请求?我正在使用Rails 3.2.9。

25
Rails不断告诉我它当前尚未安装
我rvm过去经常管理不同的红宝石及其宝石。我的外壳是zsh,其中oh-my-zsh配置了基本设置。启用的oh-my-zsh插件是ruby,rails,osx和git。这是我用来安装ruby-1.8.7和rails-3.0.7的命令。 rvm install 1.8.7 rvm use 1.8.7 gem install rails -v=3.0.7 然后我输入rails并得到: Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command. 我也尝试了更彻底的安装,例如rubygems切换到ruby-1.8.7后重新安装,或者创建了一个全新的gemset,但是没有运气。 这是rvm信息: ruby-1.8.7-p352@rails: system: uname: "Darwin yicai.local 10.8.0 Darwin Kernel Version …
85 ruby-on-rails  ruby  rvm  zsh 


7
如何检查一个范围内是否包含数字(在一个语句中)?
我正在使用Ruby on Rails 3.0.9,我想检查范围内是否包含数字。也就是说,如果我有一个变量,number = 5我想检查1 <= number <= 10并检索一个布尔值(如果该number值包含在该范围内)。 我可以这样: number >= 1 && number <= 10 但我想在一份声明中做到这一点。我怎样才能做到这一点?


6
Rails回形针如何删除附件?
我正在Rails 3上使用Paperclip(w / Amazon s3)。我想删除现有附件而不使用更新操作替换它。 我只发现了这样的一个实例在这里,不能得到那个工作,它只是不会删除,并没有什么在日志中说为什么。我想在表单上执行以下操作: <%- unless @page.new_record? || !@page.image? -%> <%= f.check_box :image_delete, :label => 'Delete Image' %> <%- end -%> (页面是模型的名称,图像是保存附件的属性名称) 但是,如何检测该复选框,更重要的是,如何删除该图像?感谢您的帮助!

18
无法加载此类文件-sqlite3 / sqlite3_native(LoadError)在Rails上的ruby上
当我尝试在Ruby 2.0.0上使用Rails 4.0.0设置服务器的基本安装和初始化时,我遇到了以下错误消息。 /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require' from …

12
Ruby on Rails中用于身份验证的最佳解决方案
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在寻找可以在RoR应用程序中使用的预构建解决方案。理想情况下,我正在寻找与ASP.NET Forms身份验证类似的东西,该身份验证提供电子邮件验证,注册控件并允许用户重置其密码。好的,可以轻松地让我拉出当前登录到该应用程序的用户。 我已经开始研究已经写过的文章,但是我发现它确实令人困惑。我看过LoginGenerator,RestfulAuthentication,SaltedLoginGenerator,但是似乎没有一个地方提供出色的教程或提供它们的比较。如果有一个我尚未发现的站点,或者大多数人都使用了事实上的标准,我将不胜感激。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.