我在我的rails应用程序中使用Devise和omniauth进行身份验证.我已经关注自述文件并将以下行放在我的production.rb中:
config.action_mailer.default_url_options = { :host =>
'http://morning-autumn-487.heroku.com' }
Run Code Online (Sandbox Code Playgroud)
我的邮件程序有以下代码:
<%= link_to 'Confirm my account',confirmation_url(@user, :confirmation_token =>
@user.confirmation_token) %>
Run Code Online (Sandbox Code Playgroud)
当我将应用程序上传到heroku时,确认邮件在电子邮件中有以下注册链接:http://127.0.0.1:3000 /users /confirmation?confirmation_token = 8TyGWQo6y ...是否存在管理此主机名的设置?
我是rails的新手并试图完成一项简单的任务.我想在图像点击时切换布尔属性"完成".在我看来,我的链接看起来像:
<%= link_to image_tag("done.png"),
feed_item,
:controller => :calendars, :action=>:toggle_done,:id=> feed_item.id,
:title => "Mark as done", :remote=> true, :class=>"delete-icon" %>
Run Code Online (Sandbox Code Playgroud)
我添加了一条路线如下:
resources :calendars do
get 'toggle_done', :on => :member
end
Run Code Online (Sandbox Code Playgroud)
在控制器中,我创建了一个方法:
def toggle_done
@calendar = Calendar.find(params[:id])
toggle = !@calendar.done
@calendar.update_attributes(:done => toggle)
respond_to do |format|
flash[:success] = "Calendar updated"
format.html { redirect_to root_path }
format.js
end
Run Code Online (Sandbox Code Playgroud)
当我点击图像时,没有任何反应我看到以下错误:
Started GET "/toggle_done" for 127.0.0.1 at 2010-12-27 13:56:38 +0530
ActionController::RoutingError (No route matches "/toggle_done"):
Run Code Online (Sandbox Code Playgroud)
我相信我在这里缺少一些非常微不足道的东西.
我按照以下说明在ubuntu上使用RVM安装了ruby,rails和gemsets:http ://railstutorial.org/ruby-on-rails-tutorial-book#sec:rubygems
现在的问题是,每次我重新启动计算机并打开控制台时,我的RVM和Rails设置都会丢失:当我尝试“ rails服务器”时-找不到rails并且所有的gem也都丢失了。我需要安装滑轨并再次安装其他宝石,例如heroku。
根据Requests文档,可以将事件挂钩添加到.get()函数中.
requests.get('http://httpbin.org', hooks=dict(response=print_url))
def print_url(r, *args, **kwargs):
print(r.url)
Run Code Online (Sandbox Code Playgroud)
这很好但是如何使用自定义参数设置*args,例如,我想将一些自定义值传递给print_url(),如何在*args中设置它们?这样的事情失败了:
args = ("search_item", search_item)
rs = (grequests.get(u, hooks={'response': [parse_books],'args': [args]}) for u in urls)
Run Code Online (Sandbox Code Playgroud) rvm 1.14.5,rvm-capistrano(1.2.2)和capistrano(2.12.0)我的Gemfile是:
group :development, :test do
gem 'rvm-capistrano'
gem 'capistrano'
end
Run Code Online (Sandbox Code Playgroud)
当我尝试启动乘客时,我一直看到这个错误:
[ pid=4691 thr=76294140 file=utils.rb:176 time=2012-07-04 11:37:06.179 ]: *** Exception NameError in PhusionPassenger::Rack::ApplicationSpawner (uninitialized constant Capistrano) (process 4691, thread #<Thread:0x9184ff8>):
from /home/ved/.rvm/gems/ruby-1.9.3-p194/gems/rvm-capistrano-1.2.2/lib/rvm/capistrano.rb:3:in `<top (required)>'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `require'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `rescue in block in require'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/runtime.rb:62:in `block in require'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require'
from /home/ved/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
from /home/ved/rails_projects/grabber/config/application.rb:12:in `<top (required)>'
from /home/ved/rails_projects/grabber/config/environment.rb:3:in `require'
from /home/ved/rails_projects/grabber/config/environment.rb:3:in `<top (required)>'
from config.ru:3:in `require'
from config.ru:3:in `block in <main>'
Run Code Online (Sandbox Code Playgroud) 很抱歉问这样一个新手问题,但我正在寻找一种处理多个文件的方法.我不想使用:tabnew和:e命令键入巨大的文件路径来打开每个文件
我无法弄清楚这个非常简单的错误:
xyz_controller.rb:
@isbn = params[:q]
@search_type = params[:search_type]
...
@prices = Generalsearch.new(:search_term => @isbn, :search_type => @search_type)
generalsearch.rb
attr_accessor :search_term , :search_type
def initialize(search_term , search_type)
self.search_term= search_term
self.search_type= search_type
end
...
Run Code Online (Sandbox Code Playgroud)
我一直在
wrong number of arguments (1 for 2)
app/models/generalsearch.rb:11:in `initialize'
app/controllers/book_controller.rb:47:in `new'
app/controllers/book_controller.rb:47:in `view'
Run Code Online (Sandbox Code Playgroud)