모델의 속성을 설정하는 양식이 있지만 코드를 통해 설정하려는 속성이 있습니다. 즉, 사용자가 일부 속성을 설정하기를 원하지만 프로그램에서 다른 속성을 설정하기를 원합니다.ruby on rails - 중첩 된 양식
이렇게하는 방법이 있습니까?
예 : 나는 "텍스트"열 및 "사용자"열이있는 테이블이있는 경우
, 나는 사용자가 텍스트를 입력 할,하지만 난 "사용자"열은 프로그램에 의해 설정되어야 할 . 나는 어떻게 이것을 성취 할 것인가?
모델의 속성을 설정하는 양식이 있지만 코드를 통해 설정하려는 속성이 있습니다. 즉, 사용자가 일부 속성을 설정하기를 원하지만 프로그램에서 다른 속성을 설정하기를 원합니다.ruby on rails - 중첩 된 양식
이렇게하는 방법이 있습니까?
예 : 나는 "텍스트"열 및 "사용자"열이있는 테이블이있는 경우
, 나는 사용자가 텍스트를 입력 할,하지만 난 "사용자"열은 프로그램에 의해 설정되어야 할 . 나는 어떻게 이것을 성취 할 것인가?
확실히. 당신은 같은 것을 할 수있는 : 양식에서
def create
@something = Something.new(params[:something])
@something.programmatically_set_attribute = "Some value" #Here's the part that matters
respond_to do |format|
if @host.save
format.html { redirect_to(@something, :notice => 'Something was successfully created.') }
format.xml { render :xml => @something, :status => :created, :location => @something}
else
format.html { render :action => "new" }
format.xml { render :xml => @something.errors, :status => :unprocessable_entity }
end
end
end
을, 당신은 단지 당신이 인간의 손에 의해 편집하지 않으려는 현장을 떠날 것이다. 또한 업데이트 기능을 변경해야합니다.
당신은 단지 텍스트 속성은 당신이
class MyModel < ActiveRecord::Base attr_accesssible :text end
을 다음과 같이이 MyModel의 텍스트 속성을 업데이트 할 수 있도록합니다 attr_accessible 사용할 수 있습니다 사용자와 다름 업데이트 할 수 있는지 확인하려면 질량 할당을 통해.