Tag: ruby on rail

添加新动作来设计registrations_controller

我的主要设计路线是: devise_for :accounts, :controllers => { :registrations => “users/accounts/registrations”, :sessions => “accounts/devise/sessions” }, :class_name => ‘Admin’ 然后我想要一个新的url / action,所以我在上面的devise_for行之前添加以下内容: match ‘/accounts/signedup/’ => ‘users/accounts/registrations#signedup’: 然后在控制器中我有signedup动作,但当我去myurl.com/accounts/signedup,目前只有: def signedup Rails.logger.debug { “&& signed_up” } end 然后我去myurl.com/accounts/signedup我得到: AbstractController::ActionNotFound (AbstractController::ActionNotFound): 但是,如果我从控制器中删除def signedup,我会得到: The action ‘signedup’ could not be found for Users::Accounts::RegistrationsController” 知道什么是错的吗?

Rails:更改生产数据库的最佳方式

我需要对正在使用的生产数据库进行更改。 只需添加几列。 我已经通过迁移对dev数据库进行了更改。 在保留现有数据的同时更新生产数据库并且不会过多地中断操作的最佳方法是什么? 它是MYSQL,我将需要向列添加数据以及已有的记录。 一列可以有一个默认值(它是布尔值),但另一列是时间戳,应该有一个任意的后退值。 行数并不大。 因此,如果我使用迁移,我如何添加数据?如何才能实现这两个(或三个 – 我在生成数据库上添加数据时最多的迁移,而不是最初通过迁移构建的(我相信他们使用了架构而不是)?

将Discourse SSO与现有的Rails站点与Devise结合起来

我有一个现有的rails应用程序,它使用设计作为用户身份validation。 我添加了一个话语论坛 ,一切顺利,它位于一个子域。 我已经在https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045阅读了这篇文章,但是一旦用户登录,我仍然不知道如何处理设计方面的问题在现有的铁路网站上。 目前这是我理解的过程: 第1步:用户点击子域上的话语论坛。 用户需要登录才能点击登录按钮。 步骤2:将用户发送到现有rails站点的登录页面。 步骤3:用户登录rails站点。 Step4:用户应该被重定向到登录的话语论坛子域。 我的问题是 – 我需要做些什么来使用户在登录第3步时将其重定向回子域? 有没有人成功实现过这个? 我在该演练页面上看到了这段代码: class DiscourseSsoController < ApplicationController def sso secret = "MY_SECRET_STRING" sso = SingleSignOn.parse(request.query_string, secret) sso.email = "user@email.com" sso.name = "Bill Hicks" sso.username = "bill@hicks.com" sso.external_id = "123" # unique to your application sso.sso_secret = secret redirect_to sso.to_url("http://l.discourse/session/sso_login") end end 这是我需要在现有的rails应用程序中添加的内容吗? 我猜测解析检查该信息是否在URL中,如果是,它一旦完成设计登录过程就重定向,如果不是,它就像往常一样。 […]

如何在Ruby on Rails中调用API(例如Flickr API)? 新手问题

我在rails中构建我的第一个应用程序,我想调用Flickr的API 我知道我可以使用flickr-fu,rflickr或其他gem,但我想从头开始自己学习 比方说,我想调用flickr.photos.comments.getList来返回照片的评论。 参数是api_key和photo_id。 我有两个。 我将以xml的forms获得响应 Umm, I’m not sure, can I get back to you on that one? ` 我想通过调用该方法将收到的数据存储到一个变量comments ,我可以使用它来访问数据,例如, comments.all.first.author_name = “Rev Dan Catt” 要么 comments.all.first.content = “Umm, I’m not sure, can I get back to…” 我怎样才能做到这一点? 请耐心等待(对于noob问题抱歉)

从静态页面渲染部分

我正在尝试在我的主欢迎页面(我使用HighVoltage gem创建它)中呈现部分,我的Groups表单,用户可以在其中创建新组… 到目前为止我尝试过的内容给了我以下错误… 表单中的第一个参数不能包含nil或为空 = form_for @group do |f| .fieldset – if @group.errors.any? .error_messages 我的路线配置如下 Giraffle::Application.routes.draw do get ‘sign_up’, to: ‘groups#new’, as: ‘sign_up’ get ‘sign_in’, to: ‘sessions#new’, as: ‘sign_in’ delete ‘sign_out’, to: ‘sessions#destroy’, as: ‘sign_out’ resources :sessions resources :members resources :groups resources :events resources :event_sets root :to => ‘high_voltage/pages#show’, id: ‘welcome’ end 因此,当我尝试加载主页面直接进入欢迎页面时,它会因上面的错误而崩溃 我想我知道问题是什么……但我不知道如何解决它。 我试图渲染表单,但由于“group”可执行文件永远不会初始化,因此会抛出此错误。 […]

Rails中的占位符将实际提交

我知道如何以轨道forms制作占位符,但有没有办法在其中添加实际提交内容的内容? 像<%= f.email_field, :email, (element here): %>帮助将非常感谢。 如果您有任何疑问,请告诉我。

如何预先检查formtastic中的复选框

我有一个表单,我正在设置…用户可以有很多post,每个post都可以有很多人观看。 Watch模型以多态forms设置为“可观察”,因此它可以应用于不同类型的模型。 它具有user_id,watchable_id,watchable_type和时间戳作为属性/字段。 这是非常好的,所以当人们评论post时,观看post的用户可以收到有关它的电子邮件。 我要做的是向用户显示他们可以在每个post上标记的用户列表,这不是问题。 这就是我现在正在使用的 http://pastie.org/940421 { :class => ‘short’ } %> false, :input_html => { :class => ‘short’ } %> Tag Users (they will get notified of this update) :check_boxes, :label => ‘ ‘, :wrapper_html => { :class => “radiolist clearfix” }, :for => :watch, :name => “Watch” %> ‘Update’%> { :class => ‘submit’ […]

有没有办法在没有模型的情况下创建一个带有formtastic的表单?

我想使用formtastic创建表单但我没有与之关联的模型(使用用户名,密码和openid URL的登录表单)。 当然,我可以创建一个模型来做到这一点,但该模型只是一个黑客,没有任何有用的代码。

Rails – 使用开发数据填充测试数据库

有没有什么简单的方法可以将developmenet数据库中的数据复制到测试数据库中? 我知道这是一种复制模式和重新创建数据库的方法,但有没有任何rake任务用开发一个填充测试数据库?

CarrierWave并resize到特定宽度

在Rails 3.0中使用CarrierWave如何使代码调整宽度大于500像素的图像大小为500像素宽并适当调整高度 – 保持宽度与高度的初始比率相同。