这不是一个真正的故障排除问题,而是一个解释请求.我很难理解form_for方法的工作原理.有人可以向我解释这种方法在这种情况下的作用.这是我在博客应用程序上为评论功能创建表单的代码.我的代码有效,所以我只想了解它的工作原理和工作原理.谢谢!!
这是我的新评论表:
<%= form_for([@post, @post.comments.build]) do |c| %>
<p>
<%= c.label :content, class: "col-md control-label" %><br>
<%= c.text_area :content, rows: "10", class: "form-control" %>
</p>
<p>
<%= c.submit %>
</p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是我的评论代码控制器:
class CommentsController < ApplicationController
def new
@post = Post.find(params[:post_id])
end
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
@comment.user_id = current_user.id
@comment.save
#redirect_to post_path(@post)
redirect_to posts_path
end
private
def comment_params
params.require(:comment).permit(:content)
end
end
Run Code Online (Sandbox Code Playgroud)
特别是,form_for的"[@ post,@ post.comments.build]"参数是做什么的?
我正在尝试反应这段代码.有什么建议?
@contest_users = []
@contest.squads.each do |squad|
@contest_users << squad.users[0]
end
Run Code Online (Sandbox Code Playgroud) 最后一天我一直被困在这个问题上,我决定需要帮助。我有以下 javascript 类方法,我正在为其编写单元测试:
getUser = function(req, res){
return new Promise(function(resolve, reject){
User.getByUserId(user_id, function(err, user){
if (err){
return reject({ message: defaultErrorMessage })
} else {
return user ? resolve() : reject({ message: 'The specified user does not exist.' })
}
})
}).then(function(){
....Promise Chain Continues...
})
Run Code Online (Sandbox Code Playgroud)
本质上,我试图做的是编写一个单元测试,用以下内容存根 User.getByUserId mongoose 调用:
let resolvedPromise = sinon.stub().resolves();
sinon.stub(User,'getByUserId').returns(resolvedPromise);
Run Code Online (Sandbox Code Playgroud)
我的想法是,我想删除查找用户并返回已解决的承诺的数据库调用,以便承诺链可以继续,但是我当前的解决方案不允许承诺链继续。
我如何在承诺中包含 sinon 存根并让该存根返回一个 resolve() 以允许承诺链继续?帮助将不胜感激!
我是 Ruby on Rails 的新手,我正在尝试构建一个简单的博客平台,允许使用设计进行用户身份验证。当我填写带有标题和内容字段的帖子表单时,当我按下“创建帖子”按钮时,我收到一个错误消息
SystemStackError in PostsController#create stack level too deep
Run Code Online (Sandbox Code Playgroud)
我的 PostsController 中的“创建”操作似乎是问题的根源。谁能帮我?这是我的 PostsController 的样子:
class PostsController < ApplicationController
before_action :authenticate_user!
def index
@posts = Post.all
end
def new
@post = Post.new
end
def create
@post = Post.new(params[:post])
end
def show
@post = Post.find(params[:id])
end
private
def params
params.require(:post).permit(:title, :content)
end
end
Run Code Online (Sandbox Code Playgroud) ruby ×3
asynchronous ×1
form-for ×1
javascript ×1
promise ×1
refactoring ×1
sinon ×1
unit-testing ×1