작업이 생성되면 프로젝트의 ID를 갖도록 작업 양식의 숨겨진 필드에있는 세션에서 프로젝트 ID를 전달하려고합니다. 그것에 배정 된 나는 이것을 벌써 끝내었고 코드가 작동 할 때 사용했던 코드를 복사 해 보았습니다.하지만 이름을 바꾸면 내가하는 일에 상관없이 오류가 발생합니다. 누군가 내가 갈 곳을 지적 할 수 있다면 틀렸어, 고마워 할거야, 고마워!레일즈 - 숨겨진 필드에 세션 정보 전달 중 - 오류가 발생했습니다.
나는이 구성지고있어 오류 : "알 수없는 속성 : PROJECT_ID"
코드보기 (작업/_form) :
<%= form_for(@task) do |f| %>
<div class="field">
<%= f.hidden_field :project_id, :value => session[:project_id] %>
</div>
...
<% end %>
모델 코드 (작업) :
attr_accessible :project_id
belongs_to :project
컨트롤러 코드 (tasks_controller)
def new
@task = Task.new
@project_id = session[:project_id]
respond_to do |format|
format.html # new.html.erb
format.json { render json: @task }
end
end
def create
project_id = session[:project_id]
@task = Task.new(params[:task])
respond_to do |format|
if @task.save
format.html { redirect_to @task, notice: 'Task was successfully created.' }
format.json { render json: @task, status: :created, location: @task }
else
format.html { render action: "new" }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
end
다음은 응용 프로그램 추적입니다.이 코드는 46 번째 줄을 가리키고 있습니다.이 코드는 작성 작업의 '@task = Task.new (params [: task])'줄입니다.
app/controllers/tasks_controller.rb:46:in `new'
app/controllers/tasks_controller.rb:46:in `create'
스택 추적은 좋을 것이므로 사람들은이 오류의 출처를 알 것입니다. 나는 그것이'@task = Task.new (params [: task])'에서 왔다고 생각하지만, 그것을 확인할 수 있다면 좋을 것이다. – Teoulas
Ok - 질문에 응용 프로그램 추적을 추가했습니다. – ecs
오류를 던지고있는 줄에 맞습니까? 문제를 해결하는 방법은 무엇입니까? 감사! – ecs