小编Som*_*ock的帖子

使用OmniAuth在Factory Girl中创建用户?

我目前正在创建一个使用OmniAuth创建和验证用户的应用程序.我在测试期间遇到问题,因为Factory Girl无法在没有OmniAuth的情况下生成用户.

我有几种不同的方法让工厂女孩用omniauth创建用户,但没有一个成功.

我在spec_helper文件中添加了以下两行

OmniAuth.config.test_mode = true \\ allows me to fake signins
OmniAuth.config.add_mock(:twitter, { :uid => '12345', :info => { :nickname => 'Joe Blow' }})
Run Code Online (Sandbox Code Playgroud)

目前的工厂.rb

FactoryGirl.define do
  factory :user do
    provider "twitter"
    sequence(:uid) { |n| "#{n}" }
    sequence(:name) { |n| "Person_#{n}" }
  end
end
Run Code Online (Sandbox Code Playgroud)

以下测试当前失败,因为没有生成用户

let(:user) { FactoryGirl.create(:user) }
before { sign_in user }

describe "registering" do

  it "should increment" do
    expect do
      click_button 'register'
    end.to change(user.rounds, :count).by(1)
end
Run Code Online (Sandbox Code Playgroud)

我应该如何更改我的工厂/测试以使Factory Girl使用OmniAuth创建测试用户?

编辑:我使用RailsCast指南来设置Omniauth,

#create function inside user.rb …
Run Code Online (Sandbox Code Playgroud)

integration-testing rspec ruby-on-rails omniauth factory-bot

5
推荐指数
1
解决办法
1549
查看次数

从部分轨道中渲染Bootstrap模态

我试图通过将我的模态代码放在部分内部来清理我的代码,但是在尝试调用模态时我遇到了问题.

我尝试了如何通过rails中的JS请求显示twitter bootstrap模式提供的解决方案,但如果我理解正确,我必须将代码添加到特定的控制器以显示模态.那没关系,但我想显示模态而不管它所在的控制器/视图.这可能吗?

我有什么(完全来自上面的问题):

当前链接(views/static_pages)

<%= link_to "ModalTest", 'shared/testmodal', {:remote => true, 'data-toggle' => 'modal', 'data-target' => "testmodal" }%>
Run Code Online (Sandbox Code Playgroud)

show.js.erb

$('.modal-body').html('<%= escape_javascript(render :partial => 'shared/testmodal'%>');
$('.modal-header').remove(); 
Run Code Online (Sandbox Code Playgroud)

以前的尝试:

<%= link_to "ModalTest", render(:partial => 'shared/testmodal') %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails twitter-bootstrap

4
推荐指数
1
解决办法
2万
查看次数