0
레일 앱에 "단어"모델이 있습니다. 내 단어 컨트롤러의 색인 작업에서 필자는 데이터베이스에서 단어 집합을 가져 와서 정의를 찾습니다. 데이터베이스에 정의를 저장하지 않고 거기에 저장하고 싶지 않습니다. 그러나 컨트롤러에서 각 단어의 정의를 단어 개체에 추가 한 다음보기에 전달하고 싶습니다. 즉레일 : 뷰에 전달하기 전에 모델 기반 객체에 필드 추가하기
, 내 "단어"개체가 포함 된 다음 필드 :
t.integer "user_id"
t.text "notes"
t.datetime "created_at"
t.datetime "updated_at"
t.string "word_name"
단어 컨트롤러가하는 일
@words = current_user.words
추천하고보기가
<% @words.each do |w| %>
<%= w.word_name %>
<%= w.notes %>
<% end %>
등을 표시 할 수 있습니다
내가 컨트롤러를 갖고 싶습니다
@words.each do |w|
w.definition = "blah"
end
하고 나의보기에이 표시 : 위에서 작동하지 않도록 유형 말씀의 목적은,는 "정의"필드가없는 그러나
<%= word.definition %>
. 이것을 수행하는 가장 깨끗한 방법에 대한 제안이 있으십니까?
감사합니다.
감사를해야이 잘 작동합니다. 내 객체에서도 to_json 메소드를 사용하고 있으며 to_json이 가상 속성을 선택하지 않는다는 사실이 밝혀졌습니다. 다음 게시물은 그 문제를 해결하는 데 도움이되었습니다. http://stackoverflow.com/questions/1563118/activerecord-virtual-attributes-treaded-as-a-record-attributes – stupakov