2012-07-02 3 views
0

이것은 멍청한 질문입니다!ActiveModel 대 ActionView in Rails

내가 컨트롤러에 PARAMS 저장하려고 할 때 한 번, 모델 작업을 저장할 수있는 방법

def viewTask() 
    @id = params[:id] 
    @task = Task.find(@id) 
    @status = Status.find(@task.status_id) 
    @actions = Action.where("task_id = #{@id}") 
    @action = Action.new 


    if params[:action] 
    @action = Action.new(:message => params[:action], :task_id => @id) 
    @action.save 
    end 
end 
: [: 액션] 여기

내 컨트롤러 액션 컨트롤러에 의해 촬영을 ..입니다

<%= form_for :action do |a| %> 
    <%= a.text_area :message, :cols => 10, :rows => 5 %> 
    <%= a.submit 'ok', :class=> "btn" %> 
<% end %> 

모두 감사합니다 :

여기 내보기입니다.

+2

: 당신이 작업 모델은 다음과 같이 보입니다 걸, 코드에서

# should be a POST method (am I right?) # why do you call it viewTask? def viewTask @task = Task.find(params[:id]) # you'd better avoid extra DB-calls # @status = @task.status # @activities = @task.actions # you can load this with the @task-query by including or joining them # if you need the @status and @activities models you could do # @task = Task.find(params[:id], :include => [:task, :activities]) # if you only need the joined objects you should use @task = Task.find(params[:id], :joins => [:task, :activities]) @activity = Activity.new if params[:activity] @activity = @task.activities.build(params[:activity]) @activity.save end end 

, 나는 가정입니다 :

또한, 같은 레일 방식의 내장을 사용하려고하십시오 죄송합니다. 이해하는 데 어려움이 있습니다. 모델 저장 방법 작업, 컨트롤러에 저장하려고하면 action 컨트롤러에서 params [: action]이 토큰이됩니다. –

+0

질문이 이해가 가지 않습니다. . – iblue

+0

어떻게 모델을 저장할 수 있습니까? Action, 한번 컨트롤러에 저장하려고하면 params [: action]이 (가) 액션 컨트롤러에 의해 이미 토큰이됩니다. –

답변

0

이 답변은 댓글과 비슷하지만 이해하기가 어렵습니다. 질문에 대한 답변이므로이 답변을 얻는 것이 좋습니다.


자, 페르난도, 어떻게 할 수 있는지 어떻게 알 수 있습니까? 양식을 제출하려면 어떤 조치를 취해야합니까? routes.rb를 우리에게 보여줄 수 있습니까? 그럼 알다시피, 액션 폼이 컨트롤러 액션에 어떻게 제출 될 수 있는지 알려주십시오. 레일의 명명 규칙 문제를 피하려면 Action 모델 및 컨트롤러의 이름을 Mission 또는 Activity과 같은 이름으로 변경해야합니다.

너의 params 해시는 어떻게 생겼을 까? params [: action]이 항상 있기 때문에 양식이 정상적으로 create 또는 update 인 경우입니다.

class Task < ActiveRecord::Base 
    has_many  :activities 
    belongs_to :status  # so it has a field called :status_id 
    ..... 
end 
+0

미안하지만 가난한 설명 .. 모델 이름을 바꿉니다. 조치 .. 감사합니다 –

+0

절대 - 운동을 시작하고 자랄거야 : –

+0

내 대답 (나쁜, 나쁜 복사 및 붙여 넣기)의 코드를 정정하기위한 : D 모두 다 했니? –