Rails:使用link_to设置变量" new"

时间:2014-10-18 10:35:05

标签: ruby-on-rails-4

我试图在不确定它是否可能的情况下完成以下任务,所以如果有人可以帮助我真的很棒!

我有一个Quiz对象,在创建它之后我希望能够创建一个新的关卡:

< = link_to' New Level',new_level_path(@quiz),:quiz_id => @ quiz.id> (%%缺失,因为没有正确显示)

使用:quiz_id => @ quiz.id我想设置水平变量" quiz_id"从上一页到测验的id。 (等级属于测验)

我做的事情是

...的http /水平/ new.36

36是我的测验的ID。如何将此数字设置为我想要创建的级别的quiz_id变量?

我尝试过类似的事情:

< = f.number_field:quiz_id,:value => @ Quiz.id> (%%丢失,因为没有正确显示) < = f.number_field:quiz_id,:value => " current_quiz_id"> (%%缺失,因为没有正确显示)

但这似乎不起作用。可以这样做吗?可以预设"变量trough" link_to" new_level_path还是有任何其他方法可以从它所属的对象的视图中创建一个对象并预设一些变量?

我真的很感激任何帮助!

非常感谢提前!

编辑:

我通过一些试验和错误解决了我自己的问题。我将link_to更改为:

< = link_to(' New Level',new_level_path(@ quiz,:quiz_id => @ quiz.id))> (由于格式化原因,%%缺失)

在levels_controller中我将以下内容添加到新方法中:  @ quiz_id = params [:quiz_id]

通过我可以在level.new视图中使用@quiz_id变量。

1 个答案:

答案 0 :(得分:0)

我通过一些试验和错误解决了我自己的问题。我将link_to更改为:

< = link_to(' New Level',new_level_path(@ quiz,:quiz_id => @ quiz.id))> (由于格式化原因,%%缺失)

并在levels_controller中我将以下内容添加到新方法中:@ quiz_id = params [:quiz_id]

通过我可以在level.new视图中使用@quiz_id变量。