Ruby 没有看到 slim 文件
Ruby does not see slim files
我正在尝试进行规格测试,场景如下:
scenario 'Authenticated user creates question' do
User.create!(email: 'user@test.com', password: '1234567')
visit new_user_session_path
fill_in 'Email', with: 'user@test.com'
fill_in 'Password', with: '1234567'
click_on 'Log in'
visit questions_path
click_on 'Ask question'
fill_in 'Title', with: 'Test question'
fill_in 'Body', with: 'text text'
click_on 'Create'
expect(page).to have_content 'Your question successfully created.'
end
scenario 'Non-authenticated user tries to create question' do
visit questions_path
click_on 'Ask question'
expect(page).to have_content 'You need to sign in or sign up before continuing.'
end
end
它给我一个错误:“QuestionsController#index 缺少请求格式的模板:text/html”。
问题是我有一个索引文件,但格式很薄:index.html.slim
如果我制作索引文件 erb,它会给我另一个错误:“无法找到 link 或按钮“提问””。
所以我认为问题是我的代码看不到超薄文件。在 application.rb 我已经有了这个代码:
config.generators do |g|
g.template_engine = :slim
end
这是我的 gemfile 的一部分:
group :development do
gem 'slim-rails'
end
可能是什么问题?为什么 ruby 看不到我的 slim 文件?
问题是您的 Gemfile 中的开发组 slim-rails
而您是 运行 测试环境。我不可能想到您实际上需要每个环境不同的模板引擎的场景。
只需将其移出 development
组即可。
gem 'slim-rails', '~> 3.2'
如果您不希望您的应用突然崩溃,也建议为这个关键任务添加版本限制。
我正在尝试进行规格测试,场景如下:
scenario 'Authenticated user creates question' do
User.create!(email: 'user@test.com', password: '1234567')
visit new_user_session_path
fill_in 'Email', with: 'user@test.com'
fill_in 'Password', with: '1234567'
click_on 'Log in'
visit questions_path
click_on 'Ask question'
fill_in 'Title', with: 'Test question'
fill_in 'Body', with: 'text text'
click_on 'Create'
expect(page).to have_content 'Your question successfully created.'
end
scenario 'Non-authenticated user tries to create question' do
visit questions_path
click_on 'Ask question'
expect(page).to have_content 'You need to sign in or sign up before continuing.'
end
end
它给我一个错误:“QuestionsController#index 缺少请求格式的模板:text/html”。 问题是我有一个索引文件,但格式很薄:index.html.slim 如果我制作索引文件 erb,它会给我另一个错误:“无法找到 link 或按钮“提问””。 所以我认为问题是我的代码看不到超薄文件。在 application.rb 我已经有了这个代码:
config.generators do |g|
g.template_engine = :slim
end
这是我的 gemfile 的一部分:
group :development do
gem 'slim-rails'
end
可能是什么问题?为什么 ruby 看不到我的 slim 文件?
问题是您的 Gemfile 中的开发组 slim-rails
而您是 运行 测试环境。我不可能想到您实际上需要每个环境不同的模板引擎的场景。
只需将其移出 development
组即可。
gem 'slim-rails', '~> 3.2'
如果您不希望您的应用突然崩溃,也建议为这个关键任务添加版本限制。