Ruby中的默认日期格式是yyyy-mm-dd,但在视图中我需要它们为dd/mm/yyyy
我写了一个date_format文件config/initializers:
Time::DATE_FORMATS.merge!( :uk_format => '%m/%d/%Y')
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为我需要打电话date.to_s(:uk_format)才能使用这种格式.但是因为我<%= f.text_field :paymentDate %>用来显示日期,所以我不确定我是否可以添加to_s这个案例.
有人可以帮帮我吗.
编辑1
实际上date.to_s(:uk_format)也不起作用,如何正确使用初始化程序.....?
我在urls.py中设置了url
url(r'^', include('rest_framework_swagger.urls', namespace='swagger')),
Run Code Online (Sandbox Code Playgroud)
由于我不理解的原因,在从localhost:8000加载swigger API UI之后.没有API可以使用此错误进行扩展:
Unable to read api 'user' from path http://localhost:8000/api-docs/api/v1/user
Run Code Online (Sandbox Code Playgroud)
我认为这是url中的api-docs的问题,但删除后再重新获取.我得到这些:
fetching resource list: http://localhost:8000/
Run Code Online (Sandbox Code Playgroud)
在此之后我没有得到任何回复,或者如果我将/ api/v1添加到网址,我得到了这个回复
403 : undefined http://localhost:8000/api/v1
Run Code Online (Sandbox Code Playgroud)
这就是我在settings.py中的swagger:
SWAGGER_SETTINGS = {
"exclude_namespaces": [], # List URL namespaces to ignore
"api_version": 'alpha 1.0', # API's version
"api_path": "/", # the path to API (it could not be a root level)
"enabled_methods" : [ # method to enable in Swagger UI
'get',
'post',
'delete'
],
"api_key": '', # An API key …Run Code Online (Sandbox Code Playgroud) 我的应用程序有两个模型:用户和员工,他们的关系是用户has_many员工.
当我尝试为员工控制器编写Rspec测试用例时:
describe "GET 'edit'" do
it "should get user/edit with log in" do
log_in(@user)
employee = mock_model(Employee, :id=>1, :user_id=>@user.id)
get :edit, :id=>employee
response.should be_success
end
end
Run Code Online (Sandbox Code Playgroud)
我的结果如下:
....F
Failures:
1) EmployeesController GET 'edit' should get user/edit with log in
Failure/Error: get :edit, :id=>employee
Mock "Employee_1" received unexpected message :to_ary with (no args)
# C:in `find'
# ./app/controllers/employees_controller.rb:41:in `edit'
# ./spec/controllers/employees_controller_spec.rb:51:in `block (3 levels) in '
Finished in 4.31 seconds
5 examples, 1 failure
请有人帮我解决这个问题吗?谢谢
我已经安装了瘦并尝试做thin start,最终导致此错误
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/1.9/thin_parser (LoadError)
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:48:in `rescue in <top (required)>'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:43:in `<top (required)>'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/bin/thin:5:in `<top (required)>'
from C:/Ruby192/bin/thin:19:in `load'
from C:/Ruby192/bin/thin:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)
请有人帮帮我,谢谢你提前
所以我只是试图从RSpec中的用户控制器调用log_in方法
it "should get the index page" do
@user = User.new({ :email => "employee@test.com" })
log_in(@user)
get 'index'
response.should be_success
end
Run Code Online (Sandbox Code Playgroud)
我得到的结果是
1) EmployeesController GET 'index' should get the index page
Failure/Error: log_in(user)
NoMethodError:
undefined method `log_in' for #<RSpec::Core::ExampleGroup::Nested_1:0x4ac0328>
# ./spec/controllers/employees_controller_spec.rb:11:in `user_log_in'
# ./spec/controllers/employees_controller_spec.rb:16:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?谢谢
2011年3月11日编辑
这是UserController中的log_in方法
def log_in(user)
session[:current_user] = user.id
end
Run Code Online (Sandbox Code Playgroud)