2017-06-20 28 views
0

我想呈現一個表單,但它拋出一個錯誤,我找不到原因。錯誤與在rails上的simple_form

控制器

def new 
@student = Student.find(params[:student_id]) 
@learning_instrument = LearningInstrument.new 
end 

def create 

@student = Student.find(params[:student_id]) 
@learning_instrument = LearningInstrument.new(learning_instrument_params) 

@learning_instrument.student = @student 


if @learning_instrument.save 
    redirect_to student_path(@student) 
else 
    render :new 
end 
end 


private 

def learning_instrument_params 
    params.require(:learning_instrument).permit(:level, :student_id, :instrument_id) 
end 

這是我的形式

<%= simple_form_for(@student, @learning_instrument) do |f| %> 
    <%= f.error_notification %> 

    <%= f.input :level %> 
    <%= f.association :instrument, collection: Instrument.all %> 
    <%= f.hidden_field :student, value: @student %> 

    <%= f.button :submit %> 
<% end %> 

我收到 「不能寫未知屬性builder」。我做這樣的東西有些時候,它的工作,但這個時候,我不能讓它的工作

感謝

回答

0

不能寫未知屬性建設者

這是因爲這條線<%= simple_form_for(@student, @learning_instrument) do |f| %>。你的必須定義爲simple_form_for嵌套資源像下面

<%= simple_form_for [@student, @learning_instrument] do |f| %> 
+0

男人我感到愚蠢......我沒有注意到圓括號而不是方括號 –

+0

@CarlosSilva如果它解決了你的問題,將它標記爲已接受! – Pavan

相關問題