那么这是用reactjs渲染原始html的唯一方法吗?
// http://facebook.github.io/react/docs/tutorial.html
// tutorial7.js
var converter = new Showdown.converter();
var Comment = React.createClass({
render: function() {
var rawMarkup = converter.makeHtml(this.props.children.toString());
return (
<div className="comment">
<h2 className="commentAuthor">
{this.props.author}
</h2>
<span dangerouslySetInnerHTML={{__html: rawMarkup}} />
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
我知道有一些很酷的方法来标记JSX的东西,但我主要感兴趣的是能够渲染原始的html(包括所有类,内联样式等).像这样复杂的东西:
<!-- http://getbootstrap.com/components/#dropdowns-example -->
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li role="presentation"><a role="menuitem" …Run Code Online (Sandbox Code Playgroud) 鉴于以下关联,我需要引用从模型中附加的Questiona .我一直在尝试使用它来执行此操作.ChoiceChoicebelongs_to :question, through: :answer
class User
has_many :questions
has_many :choices
end
class Question
belongs_to :user
has_many :answers
has_one :choice, :through => :answer
end
class Answer
belongs_to :question
end
class Choice
belongs_to :user
belongs_to :answer
belongs_to :question, :through => :answer
validates_uniqueness_of :answer_id, :scope => [ :question_id, :user_id ]
end
Run Code Online (Sandbox Code Playgroud)
我正进入(状态
NameError未初始化的常量
User::Choice
当我尝试做的时候 current_user.choices
它工作正常,如果我不包括
belongs_to :question, :through => :answer
Run Code Online (Sandbox Code Playgroud)
但我想用它,因为我希望能够做到这一点 validates_uniqueness_of
我可能忽略了一些简单的事情.任何帮助,将不胜感激.
我正在寻找这样的东西:
raise Exception rescue nil
Run Code Online (Sandbox Code Playgroud)
但我发现的最短路径是:
begin
raise Exception
rescue Exception
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个非常简单的PayPal支持的购物车,以便用户可以购买多个项目.我希望paypal能够处理所有付款细节.我甚至不想要订单确认.我会手动检查paypal上的订单确认.
起初我想使用"网站付款标准",因为它似乎很容易创建一个表格,发布到贝宝,并让贝宝从那里处理它.但不,这不起作用,因为"网站付款标准"按钮/表单不支持提交多个项目.我在我的表单中尝试了各种键/值,但从未奏效.
然后我按照此处的说明尝试了Express Checkout .它在很大程度上有效,但据我了解,在发送SetExpressCheckout后,您必须收听来自paypal的请求并执行DoExpressCheckoutPayment来完成交易.所以参考.
我发现这有点麻烦,因为如果我的服务器无法收到来自paypal的请求并且我从未发送DoExpressCheckoutPayment怎么办?所以客户认为他们已完成提交订单,但订单从未收到过.
有没有人知道跳过这个"确认"步骤的方法?我觉得没必要,也不确定为什么paypal需要它.
我有一个字符串,它是Ruby on Rails的输出 render_to_string
在Ruby调试器中,这就是我得到的
pp string.inspect # -> blank
pp string # -> blank
pp string.Class # -> String
pp string.empty? # -> false
pp string.nil? # -> false
pp string.blank? # -> false
pp string.to_s # -> blank
Run Code Online (Sandbox Code Playgroud)
我知道字符串中有内容,因为logger.info string按预期返回字符串,但我不知道怎么做到.
有任何想法吗?谢谢!
编辑:我发现这个问题是非常本地化的.它只发生在我使用ruby-debugger时.它发生在任何带有百分号的字符串中.
例如,如果我创建了一个字符串
string = 'this is a string with a % symbol'
Run Code Online (Sandbox Code Playgroud)
字符串不能再被检查,打印,甚至打开包装.
我在Ruby 1.8和Rails 2.3上.
我认为这可能只是我对Ruby中普通事物缺乏了解的一部分.
所以在HTML中,如果我做了这样的表格:
<form method="post">
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="text" name="categories[][name]" />
<input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
我希望params[:categories]如此
[{"name"=>"value"},{"name"=>"value"},{"name"=>"value"},{"name"=>"value"}]
Run Code Online (Sandbox Code Playgroud)
但相反,rails 2会引发一个TypeError:为param引发预期的Hash(获取数组)
这里出现错误:
http://apidock.com/rails/Rack/Utils/normalize_params
为什么在rails中不允许或不可解析?我错过了什么?
我知道我可以像这样索引输入
<input type="text" name="categories[0][name]" />
<input type="text" name="categories[1][name]" />
<input type="text" name="categories[2][name]" />
<input type="text" name="categories[3][name]" />
Run Code Online (Sandbox Code Playgroud)
得到一个哈希.但这似乎适得其反.
我有一张这样的桌子
<table>
<tr id="row-one" class="item-row">
<td class="price"></td>
<td><input type="text" class="quantity" value="" /></td>
</tr>
<tr id="row-two" class="item-row">
<td class="price"></td>
<td><input type="text" class="quantity" value="" /></td>
</tr>
<tr id="subtotal">
<td id="subtotal"></td>
<td id="subquantity"></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我正在使用这个主干js代码进行操作
<script type="text/javascript">
jQuery(document).ready(function($){
var Item = Backbone.Model.extend({
initialize: function(){
},
defaults: {
price: 0,
quantity: 0
}
});
var ItemsCollection = Backbone.Collection.extend({
model : Item,
subquantity: function(){
subquantity = 0;
this.each(function(item){
subquantity += item.get('quantity');
});
return subquantity;
}
});
var ItemView = Backbone.View.extend({
events: {
"change .quantity": …Run Code Online (Sandbox Code Playgroud) 我有这个
class Student
has_many :assignments
end
class Assignment
belongs_to :student
belongs_to :book
end
class Book
has_many :assignments
end
Run Code Online (Sandbox Code Playgroud)
为了找到学生的“哈利波特”作业,我这样做
@student.assignments.find_by_book_id(Book.find_by_name('Harry Potter'))
Run Code Online (Sandbox Code Playgroud)
有没有办法让它成为Student模型的 has_one 关联?
像这样的东西(这里是伪代码)
class Student
has_many :assignments
has_one :harry_potter_assigment, -> { where book_id: Book.find_by_name('Harry Potter') }, class: 'Assignment'
end
Run Code Online (Sandbox Code Playgroud)
如果没有,有has_one什么更好的方法?
所以我有一些我无法控制的HTML.
<div id="myDiv">
Stuff inside my div...
</div>
Run Code Online (Sandbox Code Playgroud)
我想添加一个ngClick到它.如果我可以控制html,我会这样做
<div id="myDiv" ng-click="doSomething()">
Stuff inside my div...
</div>
Run Code Online (Sandbox Code Playgroud)
但就像我说的,我无法改变HTML.如果这是jQuery,我会这样做
$('#myDiv').click(function(){
doSomething();
});
Run Code Online (Sandbox Code Playgroud)
我如何在Angularjs中做到这一点?谢谢.
UPDATE
从支票来看,似乎你们对我在这里要做的事情感到不满意,所以让我解释一下.
我在我的应用程序中使用AngularUI.AngularUI具有插入的所有这些模板.例如
<accordion-heading></accordion-heading>
Run Code Online (Sandbox Code Playgroud)
变
<div class="panel-heading">
<h4 class="panel-title">
<a href="" class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading">
<span class="ng-binding ng-scope">Heading</span>
</a>
</h4>
</div>
Run Code Online (Sandbox Code Playgroud)
我想将ngClick添加到"panel-title".我可以覆盖模板并添加它,但我不想这样做.来自jQuery,只需在"panel-title"上听一个click事件就有意义了.怎么做Angular?谢谢.
activerecord ×2
ruby ×2
amazon-s3 ×1
angular-ui ×1
angularjs ×1
backbone.js ×1
html ×1
javascript ×1
paypal ×1
paypal-ipn ×1
reactjs ×1
string ×1