我刚刚注意到kernel.org已经关闭以进行维护.有不同的公式,使用不同的镜子?或者我可以添加一个不同的来源(如捆绑??)自制?
求救!
我想在子目录中组织我的控制器.这是一个例子:
routes.rb中:
resources :locations do
resources :users
end
Run Code Online (Sandbox Code Playgroud)
我想将我的控制器放在适当的子目录中:
app/controllers/locations/users_controller.rb
Run Code Online (Sandbox Code Playgroud)
并且网址是(标准):
/locations/1/users
/locations/1/users/new
/locations/1/users/10/edit
...
Run Code Online (Sandbox Code Playgroud)
如果我的路由中有一个命名空间,我可以将users_controller.rb更改为
class Locations::UsersController < LocationsController
end
Run Code Online (Sandbox Code Playgroud)
但它不适用于嵌套资源,而是出现以下错误:
Routing Error
uninitialized constant UsersController
Run Code Online (Sandbox Code Playgroud)
如果我添加:
resources :locations do
resources :users
end
match 'locations/:location_id/users' => "locations/users#index"
Run Code Online (Sandbox Code Playgroud)
但我必须为每个动作和嵌套资源添加一个路由......
我想知道你们如何在控制器中使用工作流程或AASM gem,如果你想更新所有属性,还需要工作流程/ AASM回调才能正常启动.
目前,我使用它像这样:
class ModelController < ApplicationController
def update
@model = model.find(params[:id])
if params[:application]['state'].present?
if params[:application]['state'] == "published"
@model.publish!
end
end
if @model.update_attributes(params[:application]); ... end
end
end
Run Code Online (Sandbox Code Playgroud)
感觉不对,什么是更好的解决方案?
受到railscast(http://railscasts.com/episodes/275-how-i-test)一集的启发,我试图向我的应用添加一些请求规范.
使用delayed_job发送我的电子邮件,我没有找到一种简单的方法来测试我的水豚测试中的电子邮件发送.我试过了:
it "emails user when requesting password reset" do
...(some user action that triggers sending an email)...
Delayed::Worker.new.work_off
ActionMailer::Base.deliveries.last.to.should include(user.email)
end
Run Code Online (Sandbox Code Playgroud)
感谢任何提示或帮助!
只是想知道我是否可以使用gmaps4rails搜索特定纬度/朗格附近的地方.我检查了代码,但没有找到任何东西.如果sbd.有人已经实施过这样的事吗?
喜欢(取自地理编码宝石):
Place.near([40.71, 100.23], 20)
Run Code Online (Sandbox Code Playgroud)
谢谢