我一直在观看并在我的应用上复制这些视频直播:196-nested-model-form-part-1和197-nested-model-form-part-2。我还没有亲专业账户,因此我无法观看修改过的剧集。
我正在rails4(边缘)下开发而link_to_function
已被弃用,而不赞成不引人注目的JS(这很棒)。
我将保留上述railscast的示例(即调查/问题)。 我想做的是使用问题的部分通过不引人注目的JavaScript,我只是不知道我应该怎么做以及在哪里。
我在考虑两种方法:
app/assets/javascripts
文件surveys.js
中添加函数add_question
,但我不知道如何从这里使用我的部分。SurveyController
中创建一个新动作,该动作将使用部分问题作出回应,但我对调查控制器中的问题采取特定行动感到困扰。我不禁认为必须有更好的方法来做到这一点。
答案 0 :(得分:18)
你知道远程链接和表格吗?您可以在此处使用远程链接来完成您想要的任务。
在您看来:
link_to 'Add question', add_question_path(@survey), remote: true
在您的控制器中
def add_question
@survey = Survey.find(params[:id])
respond_to do |format|
format.js #add_question.js.erb
end
end
最后一步是创建一个文件app / views / surveys / add_question.js.erb
$('#my_survey').append('<%=j render partial: 'my_question_partial' %>')
不要忘记为ask_question_path
创建路线有关远程链接和表单的详细信息,请参阅:http://tech.thereq.com/post/17243732577/rails-3-using-link-to-remote-true-with-jquery-ujs
答案 1 :(得分:9)
我也没有关于Railscasts的专业帐号,但有时候查看Ryan's Github account是个好主意。他经常将宝石发展成他在剧集中所涵盖的内容。在那里你会发现这个令人敬畏的nested_form宝石,它完全符合你的需要。
当然你可以重新发明轮子,但我认为使用Ryan的宝石要容易得多,也更快。该文档完美地解释了如何使用它。玩得开心!