특정 작업을 수행 할 때 관리자로 제한하려고합니다. 다음에서는 사용자가 아닌 sign_in 사용자는 전달 된 해시의 액션에 액세스해서는 안됩니다. 여기 RSpec에 코드의 조각입니다을 작동하지만 전달이 해시에 대한 질문이 이 : 문자열을 사용하는 이유 여기에 내가 궁금Rails 3.2에서 사용자 동작을 제한하기 위해 컨트롤러 테스트 RSpec
{ "new" => "get",
"create" => "post",
"edit" => "get",
"update" => "put",
"destroy" => "delete" }.each do |action, method|
it "cannot access the #{action} action" do
sign_in(:user, user)
send(method, action.dup, :id => project.id)
response.should redirect_to(root_path)
flash[:alert].should eql("You must be an admin to do that.")
end
end
을 "new"
, "create"
... 대신 :new
같은 기호를 사용하여, :create
? 뭔가 action.dup
나중에 send
메서드 호출에 관련이 있습니까 ??
감사합니다.
왜 dup 메서드가 필요하지 않고 작동하지 않는 것 같습니까? 그런 다음 – Steve