有没有办法为用户控制器操作创建Rspec测试,例如"创建"和"新建?"
我不太清楚两个行为"创造"和"新"之间的差异; 有人可以这么善意地详细说明吗?
创建测试后,我将如何实现redirect_to root_path?我想我应该在before_filter signed_in部分中包含"new"和"create"操作,但这不会自动重定向到root.
我尝试通过修改users_controller.rb文件来传递测试,如下所示:
def create
if signed_in?
redirect_to root_path
else
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
end
Run Code Online (Sandbox Code Playgroud) 我创建了部分用于创建微博的表单,如清单10.33所示,<%= render 'shared/error_messages', object: f.object %>并按照说明更新了各自的视图文件.但是,我不能让Rspec测试通过,因为我不断获得"类的未定义的局部变量或方法'对象'"任何想法?
应用程序/视图/共享/ _micropost_form.html.erb
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Compose new micropost..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
应用程序/视图/共享/ _error_messages.html.erb
<% if object.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
The form contains <%= pluralize(object.errors.count, "error") %>.
</div>
<ul>
<% object.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
<% …Run Code Online (Sandbox Code Playgroud) 过去几天我一直在努力解决这个错误java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory下面是控制台输出.
我使用的是最新版本的Tomcat和Eclipse.编辑 - 我尝试卸载WAMP并安装最新版本的MYSQL社区服务器无济于事; 我仍然得到同样的错误.
注意 - 我已经就同样的问题咨询了主题,但没有一个解决方案对我有用.例如:java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory
我尝试通过Eclipse中的服务器类路径配置将tomcat-juli.jar添加为外部jar,更新系统环境变量Classpath,将tomcat-juli.jar文件复制到JRE的lib文件夹中,然后打开文件并确认LogFactory类确实存在.
编辑 - 此外,我能够运行Tomcat服务器并通过运行startup.bat查看浏览器中的默认页面.非常感谢任何帮助.
Jul 11, 2014 12:38:13 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
Jul 11, 2014 12:38:13 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Jul 11, 2014 12:38:13 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server: ' did not find a matching property.
Jul 11, 2014 12:38:14 PM org.apache.catalina.core.AprLifecycleListener initializeSSL …Run Code Online (Sandbox Code Playgroud)