Tworze aplikacje generujaca ankiety. Jedna z opcji ma byc dodawanie obrazkow do odpowiedzi. Sam file_colum dziala poprawnie gdyz wykorzystuje go do uploadowania avatarow uzytkownikow. Problem pojawia sie, gdy mam tablice odpowiedzi. W kontrolerze wyglada to nastepujaco:
@questions = Question.find_all_by_question_form_id(params[:qf_id])
@answers = []
@questions.each_with_index { |item,index| @answers[index] = Answer.find_all_by_question_id(item.id)}
Natomiast w widoku:
[code]<%if @questions.blank?%>
<%=t :no_questions%>
<%else%>
<% form_for "questions[#{index.to_s}]",item do |z| %>
<%=(t :question) + " " + (index + 1).to_s%> <%=t :question_title %>(max 150)<%= z.text_field :question_text %> <%=t :question_type %>:<%= z.collection_select(:type, @question_types, :name, :name) %> <%= hidden_field_tag 'q_id', item.id %> <%= hidden_field_tag "qf_id" , params[:qf_id]%> <%= hidden_field_tag "q_arr_id", index %> <%= submit_tag "del_q" %> <%= submit_tag "save_q" %> <% end %> |
<%@index = index%>
<%@item = item%>
<%if @answers[index].blank?%>
<%=t :no_answers %>
<%else%>
<%@f = @answers[@index]%>
<%@answers[@index].each_with_index do |im, ix|%>
<%=t :answer_title %>(max 100)<%= x.text_field :answer_text %> <%=t :picture%>(max 200kb, [gif], [jpg], [png])
|
<% form_tag :action => ‘add_step_2’, :id => params[:id] do %>
<%= hidden_field_tag “qf_id” , params[:qf_id]%>
<%= submit_tag “add_q” %>
<%end%>[/code]
Przy requescie sprawdzam sobie w prams[:commit] ktore dzialanie zostalo wybranei i wykonywana jest akcja. Wszystko dziala, gdy nie ma linii kodu z wywolaniem helpera od file_column, gdy jest ona umieszczona, otrzymuje blad “Trying to access file_column, but primary key got lost.” Czy moze ktos wie w czym tkwi blad?