Ruby on Rails语法

这是你知道如果你知道答案就会让你觉得愚蠢的问题之一,但我不能让这件事情起作用,所以这里就是这样。 在railstutorial.org中我试图解决第10章末尾的练习5,但下面的代码有问题,我尝试的每个变体(例如使用’除’)都不起作用。 如果当前用户不是管理员用户,我只想执行两行代码。 我哪里错了? def destroy if !current_user.admin? User.find(params[:id]).destroy flash[:success] = “User destroyed.” end redirect_to users_path end 编辑:我让当前用户与要删除的用户混淆。 我正在使用Aditya的代码,我确信它是正确的,但现在我收到一条“无法运行测试”的消息,表明我的测试中存在语法错误(如下)。 describe “as an admin user” do before(:each) do admin = Factory(:user, :email => “admin@example.com”, :admin => true) test_sign_in(admin) end it “should not allow an admin user to destroy himself” do lambda do delete :destroy, :id => […]

Bundle说gem丢失了 – 但事实并非如此?

背景 我正在维护Ruby On Rails站点的内容 ,但我真的没有使用rails的经验。 当试图运行rails服务器时: rails s我得到了这个: 无法在任何来源中找到activesupport-3.2.0 运行bundle install以安装缺少的gem 我运行bundle install Gem :: InstallError:factory_girl需要Ruby版本> = 1.9.2。 安装factory_girl(3.2.0)时发生错误,Bundler无法继续。 在捆绑之前确保gem install factory_girl -v ‘3.2.0’成功。 好的按照说明安装factory_girl: 已成功安装factory_girl-3.2.0 1 gem 再次运行bundle install: Gem :: InstallError:factory_girl需要Ruby版本> = 1.9.2。 安装factory_girl(3.2.0)时发生错误,Bundler无法继续。 在捆绑之前确保gem install factory_girl -v ‘3.2.0’成功。 抓头并在StackOverflow上寻求帮助。 你有什么主意吗? 任何帮助深表感谢。 信息 昨天我在尝试运行rails服务器时出现了交叉错误。 所以根据这个SO建议我建议我已经修改了RVM并安装了rbenv和bundler而不是RVM。 我试过Ruby 1.9.3-p125和1.9.3-rc1 gem list输出显示factory_girl已安装。 … factory_girl(3.2.0) … gem […]

Ruby on rails – 将text_field的表单值传递给不同控制器中的操作参数

我有一个具有此文本字段的表单 我有一个link_to标记,用于将文本字段的值发布到另一个控制器中的操作。 我需要能够获得文本字段的值并说出来 “a_different_controller”, :action => “update”, :message => “text field’s value” %> 你能帮帮我吗? 我尝试了堆栈溢出上发布的各种选项。 似乎没有工作。

ruby正则表达式 – 如何匹配一切直到角色 –

给出如下字符串: randomstring1-randomstring2-3df83eeff2 我怎样才能使用ruby正则表达式或其他一些ruby / rails友好方法来查找所有内容,直到第一个破折号 – 在上面的示例中,它将是: randomstring1 谢谢

Rails中名为“Type”的模型

美好的一天。 我的模型名为“Type”有问题。 错误是: 未定义的方法`all’用于ActiveRecord :: AttributeMethods :: Serialization :: Type:Class 在validation的这个特定部分: validation:type_id,在线状态:{message:’selected is invalid’},包含:{in:1..Type.all.count} 也许这是由于Rails中的保留名称冲突。 但在进行重构之前,Rails有没有办法考虑这个名字? (如果没别的事可做)。 这对于一个名字来说真的是一个糟糕的选择,但为时已晚。 PS。 当我在rails控制台中执行’Type.all.count’时,没有发生错误。

为什么psych yaml解释器会在80个字符左右添加换行符?

自从ruby1.9.3以来,Psych是默认的yaml引擎 为什么,为什么心理在其输出中添加换行符? 请查看以下示例。 ruby -v # => ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-linux] require ‘yaml’ “this absolutely normal sentence is more than eighty characters long because it IS”.to_yaml # => “— this absolutely normal sentence is more than eighty characters long because it\n IS\n…\n” YAML::ENGINE.yamler = ‘syck’ “this absolutely normal sentence is more than eighty […]

使用Ruby-Processing导出QuickTime影片

我正在使用Ruby-Processing来制作Processing应用程序。 如何导出我的应用程序的QuickTime影片? 我尝试过以下方法: load_library ‘video’ import ‘processing.video.MovieMaker’ def setup # stuff… @mm = MovieMaker.new(WIDTH, HEIGHT, “drawing.mov”, 30, MovieMaker.H263, MovieMaker.HIGH) end def draw # stuff… @mm.add_frame end def mouse_pressed @mm.finish_movie end 但这似乎不起作用,我得到这个错误: java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1078) at quicktime.QTSession.(QTSession.java:94) at quicktime.util.QTUtils.(QTUtils.java:33) at processing.video.MovieMaker.(MovieMaker.java:110) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.jruby.javasupport.JavaSupport.loadJavaClass(JavaSupport.java:147) at org.jruby.javasupport.JavaSupport.loadJavaClassVerbose(JavaSupport.java:156) at org.jruby.javasupport.JavaClass.forNameVerbose(JavaClass.java:944) at org.jruby.javasupport.JavaClass.for_name(JavaClass.java:956) at org.jruby.javasupport.Java.get_proxy_class(Java.java:445) […]

Rails:“新”行动如何称为“创造”行动?

我正在按照本教程http://guides.rubyonrails.org/v3.2.13/getting_started.html在3.2.13版本中构建我的rails应用程序。 如果您转到6.9部分,您将找到用于创建新post的控制器和视图。 在这里,我不知道@post变量是如何new动作传递到create动作的,以及create函数调用的位置在哪里? 此外,我在处理edit和更新actions时遇到了同样的问题。 请指导我完成这个。

使用authlogic自动创建绕过显式用户注册的用户

我想知道如何使用Authlogic自动注册选择使用开放ID的用户。 现在他们必须首先注册才能登录,即使他们选择开放ID,但我更愿意,如果他们可以直接登录,只要我从开放的id提供商那里获得所有必要的细节。 但我不知道该怎么做呢? 我会在我的用户会话控制器中执行此操作,还是有一些奇特的方法来扩展模型中的authlogic? 如果有人能指出我正确的方向,我将不胜感激。 这是我现在对这两个页面的一个例子: http://morning-warrior-55.heroku.com/ 谢谢,

Rails,PHP和参数

我在Rails工作,我需要调用PHP脚本。 我可以像这样连接到脚本: system(‘php public/myscript.php’) 但是我需要用它发送一些参数。 我怎么做? 谢谢