Tag: 的Ruby on 轨道

如何在rails中将变量指定为路由参数?

我有一个静态页面,有几个链接。 这些链接路由到我的post控制器中的pro_show操作。 def pro_show @posts = Post.where(:code => @code) end 我想通过我的路由传递代码的值。 :code是一个字符串。 现在我的路线看起来像下面的路线。 如何为@code分配字符串值? 我不需要更改任何post的代码。 我需要使用@code变量来对Post记录进行排序,就像我在行动中看到的那样。 这就是我现在正在做的事情=> 87889) %> 我这样做了吗? @code的值是否需要引号? 谢谢

如何使用REST实现validationOauth

我有以下场景, 我有一个Rails应用程序,用于使用设计进行身份validation的开发人员。 该应用程序也像restAPI一样响应即 /photos.json # brings all photos from the logged user. 我的问题是如何在这种情况下实现用户和应用程序之间的两条腿OAuth restful策略,同时将设计保持为主要的身份validation方法。 我在这里有点失落。 我知道Devise中存在token_authenticatable ,但不知怎的,我认为只使用简单的令牌进行身份validation是不够安全的?

无法在Rails 4中批量分配受保护的属性

我无法理解我的代码有什么问题(Rails 4): 来自post的参数: {:name => “name”} 新动作: m=Menu.new(params.permit(:name)) 此代码的最后一行生成“无法为菜单:名称大量分配受保护的属性”

在rails中存储临时数据的位置

在Ruby中,我有一个控制器动作,可立即启动计算密集型任务,需要几秒钟。 我希望客户端轮询我的服务器并获取状态更新。 在我的控制器中: def complex_task Thread.new do loop do one_part_of_the_computationally_intensive_task # Note how much progress we’ve made, in case the client asks. save_progress end end # returns to client straightaway, but task continues in background. end def check_status # Retrieve state in here. get_progress end 请注意check_status如何拉出由单独线程存储的状态。 如何编写save_progress和get_progress函数? 我在哪里存储州? 似乎将它存储在session并不是一个好主意,因为这会被发送到客户端,但我还能在哪里存储它? (与这个问题有关 ,但更为一般。我期待完全不同的答案。)

ExecJS ::运行时错误

我正在阅读Michael Hartl的教程(第3章,3.1)。 运行“rails generate controller StaticPages home help –no-test-framework”后,我导航到/ static_pages / home。 我在下面收到此错误消息。 ExecJS::RuntimeError in StaticPages#home Showing C:/Sites/sample_app/app/views/layouts/application.html.erb where line #6 raised: (in C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/turbolinks 1.1.1/lib/assets/javascripts/turbolinks.js.coffee) Extracted source (around line #6): 3 4 SampleApp 5 true %> 6 true %> 7 8 9 这是框架跟踪 execjs (2.2.1) lib/execjs/external_runtime.rb:152:in `exec_runtime’ execjs (2.2.1) lib/execjs/external_runtime.rb:29:in `exec’ execjs (2.2.1) lib/execjs/external_runtime.rb:18:in `eval’ […]

Omniauth-Facebook回调不会在Rails可安装引擎中初始化

我正在开发一种可安装的引擎(称为SimpleUser),它使用Devise,OmniAuth和OmniAuth-Facebook。 首先,我用gem做了一个测试应用程序,并且每个工作正常。 接下来,我开始从头开始构建引擎,使用测试应用程序的代码作为示例。 几乎所有事情都已完成,除了与Facebook的连接(它使用Javascript弹出窗口)。 当我点击“登录”时会显示FB弹出窗口,我授予应用程序,它会重定向到指定的路由(请参阅路由),但会抛出此错误: NoMethodError in SimpleUser::AuthController#create undefined method `[]’ for nil:NilClass 该行为发生错误,在行authentication = Authentication.find_by_provider_and_uid(auth[‘provider’], auth[‘uid’]) , auth为nil( auth来自auth = request.env[“omniauth.auth”] )。 我检查的一件事是Callback阶段没有初始化。 这是测试应用的日志: 在2013-03-14 08:52:56 -0600(facebook)开始获取127.0.0.1的GET“/ auth / facebook / callback”。回调阶段已启动。 由AuthController处理#create as HTML参数:{“provider”=>“facebook”} 这是引擎应用程序的日志: Started GET “/simple_user/auth/facebook/callback” for 127.0.0.1 at 2013-03-14 08:51:19 -0600 Processing by SimpleUser::AuthController#create as HTML Parameters: {“provider”=>”facebook”} 为了管理OmniAuth,我将gem添加到.gemspec和Gemfile中; 另外,我需要引擎中的gem,并且在引擎的生成器中我将omniauth.rb的模板移动到安装期间父app的config […]

Rails button_to:如何指定控制器?

我不明白这里发生了什么。 我想在我的(haml)视图中放一个button_to 。 如果我这样做: =button_to( “New”, {:action => “new”}, {} ) 生成的页面有: 这没关系,但我需要解决不同的控制器问题。 但是,如果我尝试指定控制器: =button_to( “New”, {:action => “new”, :controller => “editor”}, {} ) 我明白了: … 我希望这个action是”/editor/new” ,我不知道它为什么不是,也不知道如何正确指定我想要路由到的控制器。 我正在使用Rails 3.2.1。

检查post的标题是否唯一,否则返回错误 – 使用friendly_id

所以我一直试图在发布之前先检查post的标题是否是唯一的。 在模型中我添加了这一行,但它没有达到我的预期: validates_presence_of :title, uniqueness: true 当然,我可以在发布post之前(在控制器中)进行检查,如果存在具有此标题的post,则返回错误消息,但这是正确的方法吗? 我认为可能有一个validation。

将facebook生日信息添加到rails / devise / omniauth中的某个模型

我有问题从facebook获取生日信息到我的应用程序。 最大的问题是误解了FB的权限页面: http : //developers.facebook.com/docs/authentication/permissions/ 这里的生日被描述为user_birthday。 但那不是你如何从响应中获取它。 我找到了一个非常简单的解决方案。

Rails HABTM问题

首先感谢您阅读我的问题。 我对Rails很新,并且在我的应用程序中设置了has_and_belongs_to_many关系。 企业拥有并属于许多类别 ,并且某个类别拥有并属于许多企业 。 我如何为business / new.html.rb表单中的类别创建下拉选择菜单? 在创建新业务时,我似乎无法弄清楚如何将这两者联系起来。 我确信这很简单。 请帮忙! 谢谢!