Ruby on rails 如何在RubyonRails中将数据从控制器发送到视图
我有一个简单的控制器,它是通过一个脚手架创建的,具有“显示”功能 在通过脚手架创建的视图中,我有一个仅在特定条件下出现的图像 我想在控制器中设置或评估条件,并将其发送到视图。Ruby on rails 如何在RubyonRails中将数据从控制器发送到视图,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我有一个简单的控制器,它是通过一个脚手架创建的,具有“显示”功能 在通过脚手架创建的视图中,我有一个仅在特定条件下出现的图像 我想在控制器中设置或评估条件,并将其发送到视图。 我不知道该怎么做,也不知道这是否是正确的方法。如果您只是想根据特定条件显示和隐藏图像,那么您可以使用JQuery来执行此操作。您不应该在控制器中放置任何以视图为中心的内容 您还可以获取“show”中任何数据元素的id,并将其传递给JavaScript JQuery提供了适合您的show()和hide()方法。以下是有关隐藏
我不知道该怎么做,也不知道这是否是正确的方法。如果您只是想根据特定条件显示和隐藏图像,那么您可以使用JQuery来执行此操作。您不应该在控制器中放置任何以视图为中心的内容 您还可以获取“show”中任何数据元素的id,并将其传递给JavaScript JQuery提供了适合您的
show()
和hide()
方法。以下是有关隐藏方法的文档:
基本上,如果你的图像有一个特定的id,你会这样做:
$(document).ready(function() {
$("#myImage").hide();
if (some_condition === true) {
$("#myImage").show();
}
});
<script type="text/javascript">
var my_show_object = <%= @some_object.id %> //this will be the specific id of whatever the object is that you passed from the controller
alert(my_show_object); //this helps with debugging to see if you have the right id
</script>
您可以将该代码放入application.js
文件中
我制作了一个简单的JSFIDLE,演示了一种使用按钮显示和隐藏的方法:
当然,代码可能会有所不同,这取决于您尝试执行的操作
如果需要在“显示”视图中获取对象的“id”,可以在“显示”视图的底部放置一个脚本标记,如下所示:
$(document).ready(function() {
$("#myImage").hide();
if (some_condition === true) {
$("#myImage").show();
}
});
<script type="text/javascript">
var my_show_object = <%= @some_object.id %> //this will be the specific id of whatever the object is that you passed from the controller
alert(my_show_object); //this helps with debugging to see if you have the right id
</script>
var my\u show\u object=//这将是从控制器传递的对象的特定id
警报(我的显示对象)//这有助于调试,以查看您是否具有正确的id
如果您需要的不仅仅是id,并且希望获取整个Rails对象并将其表示为Javascript,只需在Rails“show”视图的底部执行此操作:
<script type="text/javascript">
var my_object = <%= @your_rails_object.to_json %>;
console.log(my_object); //This code allows you to look in the console and see exactly what your object looks like.
</script>
var my_object=;
console.log(我的对象)//此代码允许您在控制台中查看对象的外观。
与上一个一样,@您的_rails_对象
是控制器中显示视图中的变量。这将以json对象的形式返回它,以便您可以获取id或它具有的任何属性
另外,如果您刚刚学习Rails,我建议您阅读以下在线书籍:
这就是我学习Rails的方式-如果您只想基于特定条件显示和隐藏图像,那么这本书是优秀的和免费的,而不是使用JQuery。您不应该在控制器中放置任何以视图为中心的内容 您还可以获取“show”中任何数据元素的id,并将其传递给JavaScript JQuery提供了适合您的
show()
和hide()
方法。以下是有关隐藏方法的文档:
基本上,如果你的图像有一个特定的id,你会这样做:
$(document).ready(function() {
$("#myImage").hide();
if (some_condition === true) {
$("#myImage").show();
}
});
<script type="text/javascript">
var my_show_object = <%= @some_object.id %> //this will be the specific id of whatever the object is that you passed from the controller
alert(my_show_object); //this helps with debugging to see if you have the right id
</script>
您可以将该代码放入application.js
文件中
我制作了一个简单的JSFIDLE,演示了一种使用按钮显示和隐藏的方法:
当然,代码可能会有所不同,这取决于您尝试执行的操作
如果需要在“显示”视图中获取对象的“id”,可以在“显示”视图的底部放置一个脚本标记,如下所示:
$(document).ready(function() {
$("#myImage").hide();
if (some_condition === true) {
$("#myImage").show();
}
});
<script type="text/javascript">
var my_show_object = <%= @some_object.id %> //this will be the specific id of whatever the object is that you passed from the controller
alert(my_show_object); //this helps with debugging to see if you have the right id
</script>
var my\u show\u object=//这将是从控制器传递的对象的特定id
警报(我的显示对象)//这有助于调试,以查看您是否具有正确的id
如果您需要的不仅仅是id,并且希望获取整个Rails对象并将其表示为Javascript,只需在Rails“show”视图的底部执行此操作:
<script type="text/javascript">
var my_object = <%= @your_rails_object.to_json %>;
console.log(my_object); //This code allows you to look in the console and see exactly what your object looks like.
</script>
var my_object=;
console.log(我的对象)//此代码允许您在控制台中查看对象的外观。
与上一个一样,@您的_rails_对象
是控制器中显示视图中的变量。这将以json对象的形式返回它,以便您可以获取id或它具有的任何属性
另外,如果您刚刚学习Rails,我建议您阅读以下在线书籍:
这就是我学习Rails的方式-这本书是优秀的和免费的这种情况通常应该在视图文件中使用erb或haml来处理。如果你用条件更新了你的问题,那么我会考虑更新我的答案以反映它。现在,我将使用一个通用条件 假设您只想在显示某个对象时显示图像。让我们想象一下,对象中有一个作为标志(1,0)的特征字段 如果这个对象是一篇文章,那么我们可以检查视图文件中的条件。控制员将从模型中获取物品:
-# articles_controller show action
@article = Article.find(params[:id])
…而不是在控制器文件中包含复杂的条件。这使您可以在远离特定控制器的情况下重用该条件,并使其更易于测试。通常应在视图文件中使用erb或haml处理该条件。如果你用条件更新了你的问题,那么我会考虑更新我的答案以反映它。现在,我将使用一个通用条件 假设您只想在显示某个对象时显示图像。让我们想象一下,对象中有一个作为标志(1,0)的特征字段 如果这个对象是一篇文章,那么我们可以检查视图文件中的条件。控制员将从模型中获取物品:
-# articles_controller show action
@article = Article.find(params[:id])
…而不是在控制器文件中包含复杂的条件。这允许您从特定的控制器中重用条件,并使其更易于测试。我建议您阅读“使用rails进行敏捷web开发”,它涵盖了这一点(以及许多其他内容)。我建议您阅读“使用rails进行敏捷web开发”,它涵盖了这一点(以及许多其他内容)。